Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.35
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
lib /
python2.7 /
Delete
Unzip
Name
Size
Permission
Date
Action
bsddb
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
compiler
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
config-x86_64-linux-gnu
[ DIR ]
drwxrwxrwx
2022-03-20 10:35
ctypes
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
curses
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
dist-packages
[ DIR ]
drwxrwxrwx
2022-03-20 10:38
distutils
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
email
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
encodings
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
ensurepip
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
hotshot
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
importlib
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
json
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
lib-dynload
[ DIR ]
drwxrwxrwx
2022-03-20 10:35
lib-tk
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
lib2to3
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
logging
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
multiprocessing
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
plat-x86_64-linux-gnu
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
pydoc_data
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
sqlite3
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
test
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
unittest
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
wsgiref
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
xml
[ DIR ]
drwxrwxrwx
2022-03-20 10:36
BaseHTTPServer.py
22.21
KB
-rw-r--r--
2022-02-06 21:16
BaseHTTPServer.pyc
21.17
KB
-rw-r--r--
2022-03-20 10:36
Bastion.py
5.61
KB
-rw-r--r--
2022-02-06 21:16
Bastion.pyc
6.47
KB
-rw-r--r--
2022-03-20 10:36
CGIHTTPServer.py
12.78
KB
-rw-r--r--
2022-02-06 21:16
CGIHTTPServer.pyc
10.73
KB
-rw-r--r--
2022-03-20 10:36
ConfigParser.py
27.1
KB
-rw-r--r--
2022-02-06 21:16
ConfigParser.pyc
24.51
KB
-rw-r--r--
2022-03-20 10:36
Cookie.py
25.92
KB
-rw-r--r--
2022-02-06 21:16
Cookie.pyc
22.05
KB
-rw-r--r--
2022-03-20 10:36
DocXMLRPCServer.py
10.52
KB
-rw-r--r--
2022-02-06 21:16
DocXMLRPCServer.pyc
9.92
KB
-rw-r--r--
2022-03-20 10:36
HTMLParser.py
16.73
KB
-rw-r--r--
2022-02-06 21:16
HTMLParser.pyc
13.34
KB
-rw-r--r--
2022-03-20 10:36
LICENSE.txt
12.47
KB
-rw-r--r--
2022-02-06 21:16
MimeWriter.py
6.33
KB
-rw-r--r--
2022-02-06 21:16
MimeWriter.pyc
7.17
KB
-rw-r--r--
2022-03-20 10:36
Queue.py
8.38
KB
-rw-r--r--
2022-02-06 21:16
Queue.pyc
9.15
KB
-rw-r--r--
2022-03-20 10:36
SimpleHTTPServer.py
7.81
KB
-rw-r--r--
2022-02-06 21:16
SimpleHTTPServer.pyc
7.8
KB
-rw-r--r--
2022-03-20 10:36
SimpleXMLRPCServer.py
25.21
KB
-rw-r--r--
2022-02-06 21:16
SimpleXMLRPCServer.pyc
22.26
KB
-rw-r--r--
2022-03-20 10:36
SocketServer.py
23.24
KB
-rw-r--r--
2022-02-06 21:16
SocketServer.pyc
23.39
KB
-rw-r--r--
2022-03-20 10:36
StringIO.py
10.41
KB
-rw-r--r--
2022-02-06 21:16
StringIO.pyc
11.17
KB
-rw-r--r--
2022-03-20 10:36
UserDict.py
6.89
KB
-rw-r--r--
2022-02-06 21:16
UserDict.pyc
9.4
KB
-rw-r--r--
2022-03-20 10:36
UserList.py
3.56
KB
-rw-r--r--
2022-02-06 21:16
UserList.pyc
6.36
KB
-rw-r--r--
2022-03-20 10:36
UserString.py
9.46
KB
-rwxr-xr-x
2022-02-06 21:16
UserString.pyc
14.38
KB
-rw-r--r--
2022-03-20 10:36
_LWPCookieJar.py
6.4
KB
-rw-r--r--
2022-02-06 21:16
_LWPCookieJar.pyc
5.29
KB
-rw-r--r--
2022-03-20 10:36
_MozillaCookieJar.py
5.66
KB
-rw-r--r--
2022-02-06 21:16
_MozillaCookieJar.pyc
4.35
KB
-rw-r--r--
2022-03-20 10:36
__future__.py
4.28
KB
-rw-r--r--
2022-02-06 21:16
__future__.pyc
4.11
KB
-rw-r--r--
2022-03-20 10:36
__phello__.foo.py
64
B
-rw-r--r--
2022-02-06 21:16
__phello__.foo.pyc
123
B
-rw-r--r--
2022-03-20 10:36
_abcoll.py
18.18
KB
-rw-r--r--
2022-02-06 21:16
_abcoll.pyc
24.88
KB
-rw-r--r--
2022-03-20 10:36
_osx_support.py
18.65
KB
-rw-r--r--
2022-02-06 21:16
_osx_support.pyc
11.45
KB
-rw-r--r--
2022-03-20 10:36
_pyio.py
67.96
KB
-rw-r--r--
2022-02-06 21:16
_pyio.pyc
62.82
KB
-rw-r--r--
2022-03-20 10:36
_strptime.py
20.24
KB
-rw-r--r--
2022-02-06 21:16
_strptime.pyc
14.77
KB
-rw-r--r--
2022-03-20 10:36
_sysconfigdata.py
126
B
-rw-r--r--
2022-02-06 21:16
_sysconfigdata.pyc
279
B
-rw-r--r--
2022-03-20 10:36
_threading_local.py
7.28
KB
-rw-r--r--
2022-02-06 21:16
_threading_local.pyc
6.4
KB
-rw-r--r--
2022-03-20 10:36
_weakrefset.py
5.77
KB
-rw-r--r--
2022-02-06 21:16
_weakrefset.pyc
9.36
KB
-rw-r--r--
2022-03-20 10:36
abc.py
6.98
KB
-rw-r--r--
2022-02-06 21:16
abc.pyc
5.98
KB
-rw-r--r--
2022-03-20 10:36
aifc.py
33.49
KB
-rw-r--r--
2022-02-06 21:16
aifc.pyc
29.5
KB
-rw-r--r--
2022-03-20 10:36
antigravity.py
60
B
-rw-r--r--
2022-02-06 21:16
antigravity.pyc
201
B
-rw-r--r--
2022-03-20 10:36
anydbm.py
2.6
KB
-rw-r--r--
2022-02-06 21:16
anydbm.pyc
2.73
KB
-rw-r--r--
2022-03-20 10:36
argparse.egg-info
217
B
-rw-r--r--
2022-02-06 21:16
argparse.py
87.04
KB
-rw-r--r--
2022-02-06 21:16
argparse.pyc
62.54
KB
-rw-r--r--
2022-03-20 10:36
ast.py
11.53
KB
-rw-r--r--
2022-02-06 21:16
ast.pyc
12.59
KB
-rw-r--r--
2022-03-20 10:36
asynchat.py
11.33
KB
-rw-r--r--
2022-02-06 21:16
asynchat.pyc
8.55
KB
-rw-r--r--
2022-03-20 10:36
asyncore.py
20.36
KB
-rw-r--r--
2022-02-06 21:16
asyncore.pyc
18.28
KB
-rw-r--r--
2022-03-20 10:36
atexit.py
1.67
KB
-rw-r--r--
2022-02-06 21:16
atexit.pyc
2.14
KB
-rw-r--r--
2022-03-20 10:36
audiodev.py
7.42
KB
-rw-r--r--
2022-02-06 21:16
audiodev.pyc
8.22
KB
-rw-r--r--
2022-03-20 10:36
base64.py
11.53
KB
-rwxr-xr-x
2022-02-06 21:16
base64.pyc
11
KB
-rw-r--r--
2022-03-20 10:36
bdb.py
21.21
KB
-rw-r--r--
2022-02-06 21:16
bdb.pyc
18.53
KB
-rw-r--r--
2022-03-20 10:36
binhex.py
14.35
KB
-rw-r--r--
2022-02-06 21:16
binhex.pyc
15
KB
-rw-r--r--
2022-03-20 10:36
bisect.py
2.53
KB
-rw-r--r--
2022-02-06 21:16
bisect.pyc
2.99
KB
-rw-r--r--
2022-03-20 10:36
cProfile.py
6.36
KB
-rwxr-xr-x
2022-02-06 21:16
cProfile.pyc
6.13
KB
-rw-r--r--
2022-03-20 10:36
calendar.py
22.84
KB
-rw-r--r--
2022-02-06 21:16
calendar.pyc
27.1
KB
-rw-r--r--
2022-03-20 10:36
cgi.py
34.35
KB
-rwxr-xr-x
2022-02-06 21:16
cgi.pyc
31.92
KB
-rw-r--r--
2022-03-20 10:36
cgitb.py
11.89
KB
-rw-r--r--
2022-02-06 21:16
cgitb.pyc
11.85
KB
-rw-r--r--
2022-03-20 10:36
chunk.py
5.29
KB
-rw-r--r--
2022-02-06 21:16
chunk.pyc
5.45
KB
-rw-r--r--
2022-03-20 10:36
cmd.py
14.67
KB
-rw-r--r--
2022-02-06 21:16
cmd.pyc
13.67
KB
-rw-r--r--
2022-03-20 10:36
code.py
9.95
KB
-rw-r--r--
2022-02-06 21:16
code.pyc
10.06
KB
-rw-r--r--
2022-03-20 10:36
codecs.py
35.25
KB
-rw-r--r--
2022-02-06 21:16
codecs.pyc
35.8
KB
-rw-r--r--
2022-03-20 10:36
codeop.py
5.86
KB
-rw-r--r--
2022-02-06 21:16
codeop.pyc
6.42
KB
-rw-r--r--
2022-03-20 10:36
collections.py
27.15
KB
-rw-r--r--
2022-02-06 21:16
collections.pyc
25.45
KB
-rw-r--r--
2022-03-20 10:36
colorsys.py
3.6
KB
-rw-r--r--
2022-02-06 21:16
colorsys.pyc
3.88
KB
-rw-r--r--
2022-03-20 10:36
commands.py
2.49
KB
-rw-r--r--
2022-02-06 21:16
commands.pyc
2.4
KB
-rw-r--r--
2022-03-20 10:36
compileall.py
7.58
KB
-rw-r--r--
2022-02-06 21:16
compileall.pyc
6.84
KB
-rw-r--r--
2022-03-20 10:36
contextlib.py
4.32
KB
-rw-r--r--
2022-02-06 21:16
contextlib.pyc
4.33
KB
-rw-r--r--
2022-03-20 10:36
cookielib.py
63.74
KB
-rw-r--r--
2022-02-06 21:16
cookielib.pyc
53.1
KB
-rw-r--r--
2022-03-20 10:36
copy.py
11.26
KB
-rw-r--r--
2022-02-06 21:16
copy.pyc
11.83
KB
-rw-r--r--
2022-03-20 10:36
copy_reg.py
6.64
KB
-rw-r--r--
2022-02-06 21:16
copy_reg.pyc
4.95
KB
-rw-r--r--
2022-03-20 10:36
csv.py
16.32
KB
-rw-r--r--
2022-02-06 21:16
csv.pyc
13.14
KB
-rw-r--r--
2022-03-20 10:36
dbhash.py
498
B
-rw-r--r--
2022-02-06 21:16
dbhash.pyc
714
B
-rw-r--r--
2022-03-20 10:36
decimal.py
216.73
KB
-rw-r--r--
2022-02-06 21:16
decimal.pyc
167.62
KB
-rw-r--r--
2022-03-20 10:36
difflib.py
80.4
KB
-rw-r--r--
2022-02-06 21:16
difflib.pyc
60.34
KB
-rw-r--r--
2022-03-20 10:36
dircache.py
1.1
KB
-rw-r--r--
2022-02-06 21:16
dircache.pyc
1.53
KB
-rw-r--r--
2022-03-20 10:36
dis.py
6.35
KB
-rw-r--r--
2022-02-06 21:16
dis.pyc
6.07
KB
-rw-r--r--
2022-03-20 10:36
doctest.py
102.75
KB
-rw-r--r--
2022-02-06 21:16
doctest.pyc
81.49
KB
-rw-r--r--
2022-03-20 10:36
dumbdbm.py
8.93
KB
-rw-r--r--
2022-02-06 21:16
dumbdbm.pyc
6.55
KB
-rw-r--r--
2022-03-20 10:36
dummy_thread.py
4.31
KB
-rw-r--r--
2022-02-06 21:16
dummy_thread.pyc
5.24
KB
-rw-r--r--
2022-03-20 10:36
dummy_threading.py
2.74
KB
-rw-r--r--
2022-02-06 21:16
dummy_threading.pyc
1.25
KB
-rw-r--r--
2022-03-20 10:36
filecmp.py
9.36
KB
-rw-r--r--
2022-02-06 21:16
filecmp.pyc
9.36
KB
-rw-r--r--
2022-03-20 10:36
fileinput.py
13.42
KB
-rw-r--r--
2022-02-06 21:16
fileinput.pyc
14.1
KB
-rw-r--r--
2022-03-20 10:36
fnmatch.py
3.24
KB
-rw-r--r--
2022-02-06 21:16
fnmatch.pyc
3.52
KB
-rw-r--r--
2022-03-20 10:36
formatter.py
14.56
KB
-rw-r--r--
2022-02-06 21:16
formatter.pyc
18.58
KB
-rw-r--r--
2022-03-20 10:36
fpformat.py
4.59
KB
-rw-r--r--
2022-02-06 21:16
fpformat.pyc
4.55
KB
-rw-r--r--
2022-03-20 10:36
fractions.py
21.87
KB
-rw-r--r--
2022-02-06 21:16
fractions.pyc
19.17
KB
-rw-r--r--
2022-03-20 10:36
ftplib.py
37.23
KB
-rw-r--r--
2022-02-06 21:16
ftplib.pyc
33.81
KB
-rw-r--r--
2022-03-20 10:36
functools.py
4.37
KB
-rw-r--r--
2022-02-06 21:16
functools.pyc
5.86
KB
-rw-r--r--
2022-03-20 10:36
genericpath.py
3.13
KB
-rw-r--r--
2022-02-06 21:16
genericpath.pyc
3.41
KB
-rw-r--r--
2022-03-20 10:36
getopt.py
7.15
KB
-rw-r--r--
2022-02-06 21:16
getopt.pyc
6.48
KB
-rw-r--r--
2022-03-20 10:36
getpass.py
5.43
KB
-rw-r--r--
2022-02-06 21:16
getpass.pyc
4.62
KB
-rw-r--r--
2022-03-20 10:36
gettext.py
22.06
KB
-rw-r--r--
2022-02-06 21:16
gettext.pyc
17.45
KB
-rw-r--r--
2022-03-20 10:36
glob.py
3.04
KB
-rw-r--r--
2022-02-06 21:16
glob.pyc
2.86
KB
-rw-r--r--
2022-03-20 10:36
gzip.py
18.58
KB
-rw-r--r--
2022-02-06 21:16
gzip.pyc
14.78
KB
-rw-r--r--
2022-03-20 10:36
hashlib.py
7.66
KB
-rw-r--r--
2022-02-06 21:16
hashlib.pyc
6.73
KB
-rw-r--r--
2022-03-20 10:36
heapq.py
17.87
KB
-rw-r--r--
2022-02-06 21:16
heapq.pyc
14.19
KB
-rw-r--r--
2022-03-20 10:36
hmac.py
4.48
KB
-rw-r--r--
2022-02-06 21:16
hmac.pyc
4.42
KB
-rw-r--r--
2022-03-20 10:36
htmlentitydefs.py
17.63
KB
-rw-r--r--
2022-02-06 21:16
htmlentitydefs.pyc
6.22
KB
-rw-r--r--
2022-03-20 10:36
htmllib.py
12.57
KB
-rw-r--r--
2022-02-06 21:16
htmllib.pyc
19.66
KB
-rw-r--r--
2022-03-20 10:36
httplib.py
50.26
KB
-rw-r--r--
2022-02-06 21:16
httplib.pyc
35.86
KB
-rw-r--r--
2022-03-20 10:36
ihooks.py
18.54
KB
-rw-r--r--
2022-02-06 21:16
ihooks.pyc
20.74
KB
-rw-r--r--
2022-03-20 10:36
imaplib.py
47.28
KB
-rw-r--r--
2022-02-06 21:16
imaplib.pyc
44.07
KB
-rw-r--r--
2022-03-20 10:36
imghdr.py
3.46
KB
-rw-r--r--
2022-02-06 21:16
imghdr.pyc
4.69
KB
-rw-r--r--
2022-03-20 10:36
imputil.py
25.16
KB
-rw-r--r--
2022-02-06 21:16
imputil.pyc
15.18
KB
-rw-r--r--
2022-03-20 10:36
inspect.py
41.62
KB
-rw-r--r--
2022-02-06 21:16
inspect.pyc
38.97
KB
-rw-r--r--
2022-03-20 10:36
io.py
3.24
KB
-rw-r--r--
2022-02-06 21:16
io.pyc
3.5
KB
-rw-r--r--
2022-03-20 10:36
keyword.py
1.95
KB
-rwxr-xr-x
2022-02-06 21:16
keyword.pyc
2.05
KB
-rw-r--r--
2022-03-20 10:36
linecache.py
3.93
KB
-rw-r--r--
2022-02-06 21:16
linecache.pyc
3.18
KB
-rw-r--r--
2022-03-20 10:36
locale.py
97.19
KB
-rw-r--r--
2022-02-06 21:16
locale.pyc
53.69
KB
-rw-r--r--
2022-03-20 10:36
macpath.py
6.14
KB
-rw-r--r--
2022-02-06 21:16
macpath.pyc
7.46
KB
-rw-r--r--
2022-03-20 10:36
macurl2path.py
2.67
KB
-rw-r--r--
2022-02-06 21:16
macurl2path.pyc
2.18
KB
-rw-r--r--
2022-03-20 10:36
mailbox.py
79.34
KB
-rw-r--r--
2022-02-06 21:16
mailbox.pyc
74.49
KB
-rw-r--r--
2022-03-20 10:36
mailcap.py
7.25
KB
-rw-r--r--
2022-02-06 21:16
mailcap.pyc
6.89
KB
-rw-r--r--
2022-03-20 10:36
markupbase.py
14.3
KB
-rw-r--r--
2022-02-06 21:16
markupbase.pyc
9.02
KB
-rw-r--r--
2022-03-20 10:36
md5.py
358
B
-rw-r--r--
2022-02-06 21:16
md5.pyc
376
B
-rw-r--r--
2022-03-20 10:36
mhlib.py
32.65
KB
-rw-r--r--
2022-02-06 21:16
mhlib.pyc
32.83
KB
-rw-r--r--
2022-03-20 10:36
mimetools.py
7
KB
-rw-r--r--
2022-02-06 21:16
mimetools.pyc
7.97
KB
-rw-r--r--
2022-03-20 10:36
mimetypes.py
20.45
KB
-rw-r--r--
2022-02-06 21:16
mimetypes.pyc
17.96
KB
-rw-r--r--
2022-03-20 10:36
mimify.py
14.67
KB
-rwxr-xr-x
2022-02-06 21:16
mimify.pyc
11.69
KB
-rw-r--r--
2022-03-20 10:36
modulefinder.py
23.89
KB
-rw-r--r--
2022-02-06 21:16
modulefinder.pyc
18.61
KB
-rw-r--r--
2022-03-20 10:36
multifile.py
4.71
KB
-rw-r--r--
2022-02-06 21:16
multifile.pyc
5.26
KB
-rw-r--r--
2022-03-20 10:36
mutex.py
1.83
KB
-rw-r--r--
2022-02-06 21:16
mutex.pyc
2.44
KB
-rw-r--r--
2022-03-20 10:36
netrc.py
5.73
KB
-rw-r--r--
2022-02-06 21:16
netrc.pyc
4.54
KB
-rw-r--r--
2022-03-20 10:36
new.py
610
B
-rw-r--r--
2022-02-06 21:16
new.pyc
860
B
-rw-r--r--
2022-03-20 10:36
nntplib.py
20.97
KB
-rw-r--r--
2022-02-06 21:16
nntplib.pyc
20.46
KB
-rw-r--r--
2022-03-20 10:36
ntpath.py
18.97
KB
-rw-r--r--
2022-02-06 21:16
ntpath.pyc
12.78
KB
-rw-r--r--
2022-03-20 10:36
nturl2path.py
2.36
KB
-rw-r--r--
2022-02-06 21:16
nturl2path.pyc
1.77
KB
-rw-r--r--
2022-03-20 10:36
numbers.py
10.08
KB
-rw-r--r--
2022-02-06 21:16
numbers.pyc
13.56
KB
-rw-r--r--
2022-03-20 10:36
opcode.py
5.35
KB
-rw-r--r--
2022-02-06 21:16
opcode.pyc
5.99
KB
-rw-r--r--
2022-03-20 10:36
optparse.py
59.77
KB
-rw-r--r--
2022-02-06 21:16
optparse.pyc
52.36
KB
-rw-r--r--
2022-03-20 10:36
os.py
25.3
KB
-rw-r--r--
2022-02-06 21:16
os.pyc
24.98
KB
-rw-r--r--
2022-03-20 10:36
os2emxpath.py
4.53
KB
-rw-r--r--
2022-02-06 21:16
os2emxpath.pyc
4.4
KB
-rw-r--r--
2022-03-20 10:36
pdb.doc
7.73
KB
-rw-r--r--
2022-02-06 21:16
pdb.py
45.02
KB
-rwxr-xr-x
2022-02-06 21:16
pdb.pyc
42.42
KB
-rw-r--r--
2022-03-20 10:36
pickle.py
44.42
KB
-rw-r--r--
2022-02-06 21:16
pickle.pyc
37.45
KB
-rw-r--r--
2022-03-20 10:36
pickletools.py
72.79
KB
-rw-r--r--
2022-02-06 21:16
pickletools.pyc
55.64
KB
-rw-r--r--
2022-03-20 10:36
pipes.py
9.36
KB
-rw-r--r--
2022-02-06 21:16
pipes.pyc
9.06
KB
-rw-r--r--
2022-03-20 10:36
pkgutil.py
19.87
KB
-rw-r--r--
2022-02-06 21:16
pkgutil.pyc
18.42
KB
-rw-r--r--
2022-03-20 10:36
platform.py
51.38
KB
-rwxr-xr-x
2022-02-06 21:16
platform.pyc
36.84
KB
-rw-r--r--
2022-03-20 10:36
plistlib.py
14.83
KB
-rw-r--r--
2022-02-06 21:16
plistlib.pyc
18.67
KB
-rw-r--r--
2022-03-20 10:36
popen2.py
8.22
KB
-rw-r--r--
2022-02-06 21:16
popen2.pyc
8.78
KB
-rw-r--r--
2022-03-20 10:36
poplib.py
12.52
KB
-rw-r--r--
2022-02-06 21:16
poplib.pyc
12.97
KB
-rw-r--r--
2022-03-20 10:36
posixfile.py
7.82
KB
-rw-r--r--
2022-02-06 21:16
posixfile.pyc
7.45
KB
-rw-r--r--
2022-03-20 10:36
posixpath.py
13.61
KB
-rw-r--r--
2022-02-06 21:16
posixpath.pyc
11.12
KB
-rw-r--r--
2022-03-20 10:36
pprint.py
11.5
KB
-rw-r--r--
2022-02-06 21:16
pprint.pyc
9.92
KB
-rw-r--r--
2022-03-20 10:36
profile.py
22.25
KB
-rwxr-xr-x
2022-02-06 21:16
profile.pyc
15.99
KB
-rw-r--r--
2022-03-20 10:36
pstats.py
26.09
KB
-rw-r--r--
2022-02-06 21:16
pstats.pyc
24.31
KB
-rw-r--r--
2022-03-20 10:36
pty.py
4.94
KB
-rw-r--r--
2022-02-06 21:16
pty.pyc
4.83
KB
-rw-r--r--
2022-03-20 10:36
py_compile.py
6.14
KB
-rw-r--r--
2022-02-06 21:16
py_compile.pyc
6.46
KB
-rw-r--r--
2022-03-20 10:36
pyclbr.py
13.07
KB
-rw-r--r--
2022-02-06 21:16
pyclbr.pyc
9.4
KB
-rw-r--r--
2022-03-20 10:36
pydoc.py
93.56
KB
-rwxr-xr-x
2022-02-06 21:16
pydoc.pyc
89.91
KB
-rw-r--r--
2022-03-20 10:36
quopri.py
6.8
KB
-rwxr-xr-x
2022-02-06 21:16
quopri.pyc
6.4
KB
-rw-r--r--
2022-03-20 10:36
random.py
31.57
KB
-rw-r--r--
2022-02-06 21:16
random.pyc
24.89
KB
-rw-r--r--
2022-03-20 10:36
re.py
13.11
KB
-rw-r--r--
2022-02-06 21:16
re.pyc
13.06
KB
-rw-r--r--
2022-03-20 10:36
repr.py
4.2
KB
-rw-r--r--
2022-02-06 21:16
repr.pyc
5.23
KB
-rw-r--r--
2022-03-20 10:36
rexec.py
19.68
KB
-rw-r--r--
2022-02-06 21:16
rexec.pyc
23.13
KB
-rw-r--r--
2022-03-20 10:36
rfc822.py
32.76
KB
-rw-r--r--
2022-02-06 21:16
rfc822.pyc
30.95
KB
-rw-r--r--
2022-03-20 10:36
rlcompleter.py
5.85
KB
-rw-r--r--
2022-02-06 21:16
rlcompleter.pyc
5.92
KB
-rw-r--r--
2022-03-20 10:36
robotparser.py
7.41
KB
-rw-r--r--
2022-02-06 21:16
robotparser.pyc
7.73
KB
-rw-r--r--
2022-03-20 10:36
runpy.py
10.82
KB
-rw-r--r--
2022-02-06 21:16
runpy.pyc
8.56
KB
-rw-r--r--
2022-03-20 10:36
sched.py
4.97
KB
-rw-r--r--
2022-02-06 21:16
sched.pyc
4.86
KB
-rw-r--r--
2022-03-20 10:36
sets.py
18.6
KB
-rw-r--r--
2022-02-06 21:16
sets.pyc
16.39
KB
-rw-r--r--
2022-03-20 10:36
sgmllib.py
17.46
KB
-rw-r--r--
2022-02-06 21:16
sgmllib.pyc
14.98
KB
-rw-r--r--
2022-03-20 10:36
sha.py
393
B
-rw-r--r--
2022-02-06 21:16
sha.pyc
419
B
-rw-r--r--
2022-03-20 10:36
shelve.py
7.99
KB
-rw-r--r--
2022-02-06 21:16
shelve.pyc
9.96
KB
-rw-r--r--
2022-03-20 10:36
shlex.py
10.9
KB
-rw-r--r--
2022-02-06 21:16
shlex.pyc
7.36
KB
-rw-r--r--
2022-03-20 10:36
shutil.py
18.63
KB
-rw-r--r--
2022-02-06 21:16
shutil.pyc
18.12
KB
-rw-r--r--
2022-03-20 10:36
site.py
19.48
KB
-rw-r--r--
2022-02-06 21:16
site.pyc
19.08
KB
-rw-r--r--
2022-03-20 10:36
sitecustomize.py
155
B
-rw-r--r--
2017-11-24 18:33
sitecustomize.pyc
232
B
-rw-r--r--
2022-03-20 10:36
smtpd.py
18.11
KB
-rwxr-xr-x
2022-02-06 21:16
smtpd.pyc
15.45
KB
-rw-r--r--
2022-03-20 10:36
smtplib.py
31.35
KB
-rwxr-xr-x
2022-02-06 21:16
smtplib.pyc
29.47
KB
-rw-r--r--
2022-03-20 10:36
sndhdr.py
5.83
KB
-rw-r--r--
2022-02-06 21:16
sndhdr.pyc
7.16
KB
-rw-r--r--
2022-03-20 10:36
socket.py
20.13
KB
-rw-r--r--
2022-02-06 21:16
socket.pyc
15.71
KB
-rw-r--r--
2022-03-20 10:36
sre.py
384
B
-rw-r--r--
2022-02-06 21:16
sre.pyc
517
B
-rw-r--r--
2022-03-20 10:36
sre_compile.py
19.35
KB
-rw-r--r--
2022-02-06 21:16
sre_compile.pyc
12.24
KB
-rw-r--r--
2022-03-20 10:36
sre_constants.py
7.03
KB
-rw-r--r--
2022-02-06 21:16
sre_constants.pyc
6.04
KB
-rw-r--r--
2022-03-20 10:36
sre_parse.py
28.23
KB
-rw-r--r--
2022-02-06 21:16
sre_parse.pyc
19.48
KB
-rw-r--r--
2022-03-20 10:36
ssl.py
36.92
KB
-rw-r--r--
2022-02-06 21:16
ssl.pyc
31.47
KB
-rw-r--r--
2022-03-20 10:36
stat.py
1.8
KB
-rw-r--r--
2022-02-06 21:16
stat.pyc
2.67
KB
-rw-r--r--
2022-03-20 10:36
statvfs.py
898
B
-rw-r--r--
2022-02-06 21:16
statvfs.pyc
618
B
-rw-r--r--
2022-03-20 10:36
string.py
21.04
KB
-rw-r--r--
2022-02-06 21:16
string.pyc
19.88
KB
-rw-r--r--
2022-03-20 10:36
stringold.py
12.16
KB
-rw-r--r--
2022-02-06 21:16
stringold.pyc
12.2
KB
-rw-r--r--
2022-03-20 10:36
stringprep.py
13.21
KB
-rw-r--r--
2022-02-06 21:16
stringprep.pyc
14.11
KB
-rw-r--r--
2022-03-20 10:36
struct.py
82
B
-rw-r--r--
2022-02-06 21:16
struct.pyc
237
B
-rw-r--r--
2022-03-20 10:36
subprocess.py
48.26
KB
-rw-r--r--
2022-02-06 21:16
subprocess.pyc
30.8
KB
-rw-r--r--
2022-03-20 10:36
sunau.py
16.82
KB
-rw-r--r--
2022-02-06 21:16
sunau.pyc
17.87
KB
-rw-r--r--
2022-03-20 10:36
sunaudio.py
1.37
KB
-rw-r--r--
2022-02-06 21:16
sunaudio.pyc
1.93
KB
-rw-r--r--
2022-03-20 10:36
symbol.py
2.01
KB
-rwxr-xr-x
2022-02-06 21:16
symbol.pyc
2.95
KB
-rw-r--r--
2022-03-20 10:36
symtable.py
7.26
KB
-rw-r--r--
2022-02-06 21:16
symtable.pyc
11.41
KB
-rw-r--r--
2022-03-20 10:36
sysconfig.py
24.61
KB
-rw-r--r--
2022-02-06 21:16
sysconfig.pyc
18.19
KB
-rw-r--r--
2022-03-20 10:36
tabnanny.py
11.07
KB
-rwxr-xr-x
2022-02-06 21:16
tabnanny.pyc
8.01
KB
-rw-r--r--
2022-03-20 10:36
tarfile.py
88.53
KB
-rw-r--r--
2022-02-06 21:16
tarfile.pyc
74.07
KB
-rw-r--r--
2022-03-20 10:36
telnetlib.py
26.41
KB
-rw-r--r--
2022-02-06 21:16
telnetlib.pyc
22.54
KB
-rw-r--r--
2022-03-20 10:36
tempfile.py
19.09
KB
-rw-r--r--
2022-02-06 21:16
tempfile.pyc
19.76
KB
-rw-r--r--
2022-03-20 10:36
textwrap.py
16.81
KB
-rw-r--r--
2022-02-06 21:16
textwrap.pyc
11.72
KB
-rw-r--r--
2022-03-20 10:36
this.py
1002
B
-rw-r--r--
2022-02-06 21:16
this.pyc
1.19
KB
-rw-r--r--
2022-03-20 10:36
threading.py
46.03
KB
-rw-r--r--
2022-02-06 21:16
threading.pyc
41.44
KB
-rw-r--r--
2022-03-20 10:36
timeit.py
12.49
KB
-rwxr-xr-x
2022-02-06 21:16
timeit.pyc
11.87
KB
-rw-r--r--
2022-03-20 10:36
toaiff.py
3.07
KB
-rw-r--r--
2022-02-06 21:16
toaiff.pyc
3.03
KB
-rw-r--r--
2022-03-20 10:36
token.py
2.85
KB
-rw-r--r--
2022-02-06 21:16
token.pyc
3.72
KB
-rw-r--r--
2022-03-20 10:36
tokenize.py
17.07
KB
-rw-r--r--
2022-02-06 21:16
tokenize.pyc
14.13
KB
-rw-r--r--
2022-03-20 10:36
trace.py
29.19
KB
-rwxr-xr-x
2022-02-06 21:16
trace.pyc
22.19
KB
-rw-r--r--
2022-03-20 10:36
traceback.py
11.02
KB
-rw-r--r--
2022-02-06 21:16
traceback.pyc
11.37
KB
-rw-r--r--
2022-03-20 10:36
tty.py
879
B
-rw-r--r--
2022-02-06 21:16
tty.pyc
1.28
KB
-rw-r--r--
2022-03-20 10:36
types.py
2.04
KB
-rw-r--r--
2022-02-06 21:16
types.pyc
2.65
KB
-rw-r--r--
2022-03-20 10:36
urllib.py
58.68
KB
-rw-r--r--
2022-02-06 21:16
urllib.pyc
49.75
KB
-rw-r--r--
2022-03-20 10:36
urllib2.py
51.28
KB
-rw-r--r--
2022-02-06 21:16
urllib2.pyc
45.92
KB
-rw-r--r--
2022-03-20 10:36
urlparse.py
16.06
KB
-rw-r--r--
2022-02-06 21:16
urlparse.pyc
15.07
KB
-rw-r--r--
2022-03-20 10:36
user.py
1.59
KB
-rw-r--r--
2022-02-06 21:16
user.pyc
1.68
KB
-rw-r--r--
2022-03-20 10:36
uu.py
6.4
KB
-rwxr-xr-x
2022-02-06 21:16
uu.pyc
4.2
KB
-rw-r--r--
2022-03-20 10:36
uuid.py
22.08
KB
-rw-r--r--
2022-02-06 21:16
uuid.pyc
21.95
KB
-rw-r--r--
2022-03-20 10:36
warnings.py
14.4
KB
-rw-r--r--
2022-02-06 21:16
warnings.pyc
13.12
KB
-rw-r--r--
2022-03-20 10:36
wave.py
18.15
KB
-rw-r--r--
2022-02-06 21:16
wave.pyc
19.44
KB
-rw-r--r--
2022-03-20 10:36
weakref.py
13.28
KB
-rw-r--r--
2022-02-06 21:16
weakref.pyc
15.37
KB
-rw-r--r--
2022-03-20 10:36
webbrowser.py
22.25
KB
-rwxr-xr-x
2022-02-06 21:16
webbrowser.pyc
19.26
KB
-rw-r--r--
2022-03-20 10:36
whichdb.py
3.3
KB
-rw-r--r--
2022-02-06 21:16
whichdb.pyc
2.18
KB
-rw-r--r--
2022-03-20 10:36
wsgiref.egg-info
187
B
-rw-r--r--
2022-02-06 21:16
xdrlib.py
5.93
KB
-rw-r--r--
2022-02-06 21:16
xdrlib.pyc
9.59
KB
-rw-r--r--
2022-03-20 10:36
xmllib.py
34.05
KB
-rw-r--r--
2022-02-06 21:16
xmllib.pyc
26.11
KB
-rw-r--r--
2022-03-20 10:36
xmlrpclib.py
50.91
KB
-rw-r--r--
2022-02-06 21:16
xmlrpclib.pyc
42.8
KB
-rw-r--r--
2022-03-20 10:36
zipfile.py
57.64
KB
-rw-r--r--
2022-02-06 21:16
zipfile.pyc
40.52
KB
-rw-r--r--
2022-03-20 10:36
Save
Rename
"""Thread-local objects. (Note that this module provides a Python version of the threading.local class. Depending on the version of Python you're using, there may be a faster one available. You should always import the `local` class from `threading`.) Thread-local objects support the management of thread-local data. If you have data that you want to be local to a thread, simply create a thread-local object and use its attributes: >>> mydata = local() >>> mydata.number = 42 >>> mydata.number 42 You can also access the local-object's dictionary: >>> mydata.__dict__ {'number': 42} >>> mydata.__dict__.setdefault('widgets', []) [] >>> mydata.widgets [] What's important about thread-local objects is that their data are local to a thread. If we access the data in a different thread: >>> log = [] >>> def f(): ... items = mydata.__dict__.items() ... items.sort() ... log.append(items) ... mydata.number = 11 ... log.append(mydata.number) >>> import threading >>> thread = threading.Thread(target=f) >>> thread.start() >>> thread.join() >>> log [[], 11] we get different data. Furthermore, changes made in the other thread don't affect data seen in this thread: >>> mydata.number 42 Of course, values you get from a local object, including a __dict__ attribute, are for whatever thread was current at the time the attribute was read. For that reason, you generally don't want to save these values across threads, as they apply only to the thread they came from. You can create custom local objects by subclassing the local class: >>> class MyLocal(local): ... number = 2 ... initialized = False ... def __init__(self, **kw): ... if self.initialized: ... raise SystemError('__init__ called too many times') ... self.initialized = True ... self.__dict__.update(kw) ... def squared(self): ... return self.number ** 2 This can be useful to support default values, methods and initialization. Note that if you define an __init__ method, it will be called each time the local object is used in a separate thread. This is necessary to initialize each thread's dictionary. Now if we create a local object: >>> mydata = MyLocal(color='red') Now we have a default number: >>> mydata.number 2 an initial color: >>> mydata.color 'red' >>> del mydata.color And a method that operates on the data: >>> mydata.squared() 4 As before, we can access the data in a separate thread: >>> log = [] >>> thread = threading.Thread(target=f) >>> thread.start() >>> thread.join() >>> log [[('color', 'red'), ('initialized', True)], 11] without affecting this thread's data: >>> mydata.number 2 >>> mydata.color Traceback (most recent call last): ... AttributeError: 'MyLocal' object has no attribute 'color' Note that subclasses can define slots, but they are not thread local. They are shared across threads: >>> class MyLocal(local): ... __slots__ = 'number' >>> mydata = MyLocal() >>> mydata.number = 42 >>> mydata.color = 'red' So, the separate thread: >>> thread = threading.Thread(target=f) >>> thread.start() >>> thread.join() affects what we see: >>> mydata.number 11 >>> del mydata """ __all__ = ["local"] # We need to use objects from the threading module, but the threading # module may also want to use our `local` class, if support for locals # isn't compiled in to the `thread` module. This creates potential problems # with circular imports. For that reason, we don't import `threading` # until the bottom of this file (a hack sufficient to worm around the # potential problems). Note that almost all platforms do have support for # locals in the `thread` module, and there is no circular import problem # then, so problems introduced by fiddling the order of imports here won't # manifest on most boxes. class _localbase(object): __slots__ = '_local__key', '_local__args', '_local__lock' def __new__(cls, *args, **kw): self = object.__new__(cls) key = '_local__key', 'thread.local.' + str(id(self)) object.__setattr__(self, '_local__key', key) object.__setattr__(self, '_local__args', (args, kw)) object.__setattr__(self, '_local__lock', RLock()) if (args or kw) and (cls.__init__ is object.__init__): raise TypeError("Initialization arguments are not supported") # We need to create the thread dict in anticipation of # __init__ being called, to make sure we don't call it # again ourselves. dict = object.__getattribute__(self, '__dict__') current_thread().__dict__[key] = dict return self def _patch(self): key = object.__getattribute__(self, '_local__key') d = current_thread().__dict__.get(key) if d is None: d = {} current_thread().__dict__[key] = d object.__setattr__(self, '__dict__', d) # we have a new instance dict, so call out __init__ if we have # one cls = type(self) if cls.__init__ is not object.__init__: args, kw = object.__getattribute__(self, '_local__args') cls.__init__(self, *args, **kw) else: object.__setattr__(self, '__dict__', d) class local(_localbase): def __getattribute__(self, name): lock = object.__getattribute__(self, '_local__lock') lock.acquire() try: _patch(self) return object.__getattribute__(self, name) finally: lock.release() def __setattr__(self, name, value): if name == '__dict__': raise AttributeError( "%r object attribute '__dict__' is read-only" % self.__class__.__name__) lock = object.__getattribute__(self, '_local__lock') lock.acquire() try: _patch(self) return object.__setattr__(self, name, value) finally: lock.release() def __delattr__(self, name): if name == '__dict__': raise AttributeError( "%r object attribute '__dict__' is read-only" % self.__class__.__name__) lock = object.__getattribute__(self, '_local__lock') lock.acquire() try: _patch(self) return object.__delattr__(self, name) finally: lock.release() def __del__(self): import threading key = object.__getattribute__(self, '_local__key') try: # We use the non-locking API since we might already hold the lock # (__del__ can be called at any point by the cyclic GC). threads = threading._enumerate() except: # If enumerating the current threads fails, as it seems to do # during shutdown, we'll skip cleanup under the assumption # that there is nothing to clean up. return for thread in threads: try: __dict__ = thread.__dict__ except AttributeError: # Thread is dying, rest in peace. continue if key in __dict__: try: del __dict__[key] except KeyError: pass # didn't have anything in this thread from threading import current_thread, RLock