Current Path: > > usr > lib64 > python2.7 > >
Operation : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 Software : Apache Server IP : 162.0.232.56 | Your IP: 216.73.216.111 Domains : 1034 Domain(s) Permission : [ 0755 ]
Name | Type | Size | Last Modified | Actions |
---|---|---|---|---|
Demo | Directory | - | - | |
Doc | Directory | - | - | |
Tools | Directory | - | - | |
bsddb | Directory | - | - | |
compiler | Directory | - | - | |
config | Directory | - | - | |
ctypes | Directory | - | - | |
curses | Directory | - | - | |
distutils | Directory | - | - | |
Directory | - | - | ||
encodings | Directory | - | - | |
ensurepip | Directory | - | - | |
hotshot | Directory | - | - | |
idlelib | Directory | - | - | |
importlib | Directory | - | - | |
json | Directory | - | - | |
lib-dynload | Directory | - | - | |
lib-tk | Directory | - | - | |
lib2to3 | Directory | - | - | |
logging | Directory | - | - | |
multiprocessing | Directory | - | - | |
plat-linux2 | Directory | - | - | |
pydoc_data | Directory | - | - | |
site-packages | Directory | - | - | |
sqlite3 | Directory | - | - | |
test | Directory | - | - | |
unittest | Directory | - | - | |
wsgiref | Directory | - | - | |
xml | Directory | - | - | |
BaseHTTPServer.py | File | 22747 bytes | April 10 2024 04:58:34. | |
BaseHTTPServer.pyc | File | 21722 bytes | April 10 2024 04:58:47. | |
BaseHTTPServer.pyo | File | 21722 bytes | April 10 2024 04:58:47. | |
Bastion.py | File | 5744 bytes | April 10 2024 04:58:34. | |
Bastion.pyc | File | 6660 bytes | April 10 2024 04:58:47. | |
Bastion.pyo | File | 6660 bytes | April 10 2024 04:58:47. | |
CGIHTTPServer.py | File | 13089 bytes | April 10 2024 04:58:34. | |
CGIHTTPServer.pyc | File | 11018 bytes | April 10 2024 04:58:47. | |
CGIHTTPServer.pyo | File | 11018 bytes | April 10 2024 04:58:47. | |
ConfigParser.py | File | 27746 bytes | April 10 2024 04:58:34. | |
ConfigParser.pyc | File | 25213 bytes | April 10 2024 04:58:47. | |
ConfigParser.pyo | File | 25213 bytes | April 10 2024 04:58:47. | |
Cookie.py | File | 26538 bytes | April 10 2024 04:58:34. | |
Cookie.pyc | File | 22658 bytes | April 10 2024 04:58:47. | |
Cookie.pyo | File | 22658 bytes | April 10 2024 04:58:47. | |
DocXMLRPCServer.py | File | 10768 bytes | April 10 2024 04:58:34. | |
DocXMLRPCServer.pyc | File | 10195 bytes | April 10 2024 04:58:47. | |
DocXMLRPCServer.pyo | File | 10086 bytes | April 10 2024 04:58:44. | |
HTMLParser.py | File | 17171 bytes | April 10 2024 04:58:34. | |
HTMLParser.pyc | File | 13727 bytes | April 10 2024 04:58:47. | |
HTMLParser.pyo | File | 13422 bytes | April 10 2024 04:58:44. | |
MimeWriter.py | File | 6482 bytes | April 10 2024 04:58:34. | |
MimeWriter.pyc | File | 7364 bytes | April 10 2024 04:58:47. | |
MimeWriter.pyo | File | 7364 bytes | April 10 2024 04:58:47. | |
Queue.py | File | 8577 bytes | April 10 2024 04:58:34. | |
Queue.pyc | File | 9424 bytes | April 10 2024 04:58:47. | |
Queue.pyo | File | 9424 bytes | April 10 2024 04:58:47. | |
SimpleHTTPServer.py | File | 7997 bytes | April 10 2024 04:58:34. | |
SimpleHTTPServer.pyc | File | 8010 bytes | April 10 2024 04:58:47. | |
SimpleHTTPServer.pyo | File | 8010 bytes | April 10 2024 04:58:47. | |
SimpleXMLRPCServer.py | File | 25812 bytes | April 10 2024 04:58:34. | |
SimpleXMLRPCServer.pyc | File | 22863 bytes | April 10 2024 04:58:47. | |
SimpleXMLRPCServer.pyo | File | 22863 bytes | April 10 2024 04:58:47. | |
SocketServer.py | File | 23948 bytes | April 10 2024 04:58:34. | |
SocketServer.pyc | File | 24087 bytes | April 10 2024 04:58:47. | |
SocketServer.pyo | File | 24087 bytes | April 10 2024 04:58:47. | |
StringIO.py | File | 10662 bytes | April 10 2024 04:58:34. | |
StringIO.pyc | File | 11480 bytes | April 10 2024 04:58:47. | |
StringIO.pyo | File | 11480 bytes | April 10 2024 04:58:47. | |
UserDict.py | File | 7060 bytes | April 10 2024 04:58:34. | |
UserDict.pyc | File | 9711 bytes | April 10 2024 04:58:47. | |
UserDict.pyo | File | 9711 bytes | April 10 2024 04:58:47. | |
UserList.py | File | 3644 bytes | April 10 2024 04:58:34. | |
UserList.pyc | File | 6577 bytes | April 10 2024 04:58:47. | |
UserList.pyo | File | 6577 bytes | April 10 2024 04:58:47. | |
UserString.py | File | 9687 bytes | April 10 2024 04:58:34. | |
UserString.pyc | File | 14864 bytes | April 10 2024 04:58:47. | |
UserString.pyo | File | 14864 bytes | April 10 2024 04:58:47. | |
_LWPCookieJar.py | File | 6553 bytes | April 10 2024 04:58:34. | |
_LWPCookieJar.pyc | File | 5434 bytes | April 10 2024 04:58:47. | |
_LWPCookieJar.pyo | File | 5434 bytes | April 10 2024 04:58:47. | |
_MozillaCookieJar.py | File | 5797 bytes | April 10 2024 04:58:34. | |
_MozillaCookieJar.pyc | File | 4461 bytes | April 10 2024 04:58:47. | |
_MozillaCookieJar.pyo | File | 4422 bytes | April 10 2024 04:58:44. | |
__future__.py | File | 4380 bytes | April 10 2024 04:58:34. | |
__future__.pyc | File | 4223 bytes | April 10 2024 04:58:47. | |
__future__.pyo | File | 4223 bytes | April 10 2024 04:58:47. | |
__phello__.foo.py | File | 64 bytes | April 10 2024 04:58:34. | |
__phello__.foo.pyc | File | 125 bytes | April 10 2024 04:58:47. | |
__phello__.foo.pyo | File | 125 bytes | April 10 2024 04:58:47. | |
_abcoll.py | File | 18619 bytes | April 10 2024 04:58:34. | |
_abcoll.pyc | File | 25682 bytes | April 10 2024 04:58:47. | |
_abcoll.pyo | File | 25682 bytes | April 10 2024 04:58:47. | |
_osx_support.py | File | 19100 bytes | April 10 2024 04:58:34. | |
_osx_support.pyc | File | 11758 bytes | April 10 2024 04:58:47. | |
_osx_support.pyo | File | 11758 bytes | April 10 2024 04:58:47. | |
_pyio.py | File | 69630 bytes | April 10 2024 04:58:34. | |
_pyio.pyc | File | 64701 bytes | April 10 2024 04:58:47. | |
_pyio.pyo | File | 64701 bytes | April 10 2024 04:58:47. | |
_strptime.py | File | 20728 bytes | April 10 2024 04:58:34. | |
_strptime.pyc | File | 15172 bytes | April 10 2024 04:58:47. | |
_strptime.pyo | File | 15172 bytes | April 10 2024 04:58:47. | |
_sysconfigdata.py | File | 19732 bytes | April 10 2024 04:58:34. | |
_sysconfigdata.pyc | File | 22968 bytes | April 10 2024 04:58:46. | |
_sysconfigdata.pyo | File | 22968 bytes | April 10 2024 04:58:46. | |
_threading_local.py | File | 7260 bytes | April 10 2024 04:58:34. | |
_threading_local.pyc | File | 6373 bytes | April 10 2024 04:58:47. | |
_threading_local.pyo | File | 6373 bytes | April 10 2024 04:58:47. | |
_weakrefset.py | File | 5911 bytes | April 10 2024 04:58:34. | |
_weakrefset.pyc | File | 9678 bytes | April 10 2024 04:58:47. | |
_weakrefset.pyo | File | 9678 bytes | April 10 2024 04:58:47. | |
abc.py | File | 7145 bytes | April 10 2024 04:58:34. | |
abc.pyc | File | 6143 bytes | April 10 2024 04:58:47. | |
abc.pyo | File | 6087 bytes | April 10 2024 04:58:44. | |
aifc.py | File | 34579 bytes | April 10 2024 04:58:34. | |
aifc.pyc | File | 30459 bytes | April 10 2024 04:58:47. | |
aifc.pyo | File | 30459 bytes | April 10 2024 04:58:47. | |
antigravity.py | File | 60 bytes | April 10 2024 04:58:34. | |
antigravity.pyc | File | 203 bytes | April 10 2024 04:58:47. | |
antigravity.pyo | File | 203 bytes | April 10 2024 04:58:47. | |
anydbm.py | File | 2663 bytes | April 10 2024 04:58:34. | |
anydbm.pyc | File | 2800 bytes | April 10 2024 04:58:47. | |
anydbm.pyo | File | 2800 bytes | April 10 2024 04:58:47. | |
argparse.py | File | 89228 bytes | April 10 2024 04:58:34. | |
argparse.pyc | File | 64367 bytes | April 10 2024 04:58:47. | |
argparse.pyo | File | 64202 bytes | April 10 2024 04:58:44. | |
ast.py | File | 11805 bytes | April 10 2024 04:58:34. | |
ast.pyc | File | 12938 bytes | April 10 2024 04:58:47. | |
ast.pyo | File | 12938 bytes | April 10 2024 04:58:47. | |
asynchat.py | File | 11581 bytes | April 10 2024 04:58:34. | |
asynchat.pyc | File | 8810 bytes | April 10 2024 04:58:47. | |
asynchat.pyo | File | 8810 bytes | April 10 2024 04:58:47. | |
asyncore.py | File | 20943 bytes | April 10 2024 04:58:34. | |
asyncore.pyc | File | 18893 bytes | April 10 2024 04:58:47. | |
asyncore.pyo | File | 18893 bytes | April 10 2024 04:58:47. | |
atexit.py | File | 1705 bytes | April 10 2024 04:58:34. | |
atexit.pyc | File | 2203 bytes | April 10 2024 04:58:47. | |
atexit.pyo | File | 2203 bytes | April 10 2024 04:58:47. | |
audiodev.py | File | 7597 bytes | April 10 2024 04:58:34. | |
audiodev.pyc | File | 8469 bytes | April 10 2024 04:58:47. | |
audiodev.pyo | File | 8469 bytes | April 10 2024 04:58:47. | |
base64.py | File | 11806 bytes | April 10 2024 04:58:34. | |
base64.pyc | File | 11297 bytes | April 10 2024 04:58:47. | |
base64.pyo | File | 11297 bytes | April 10 2024 04:58:47. | |
bdb.py | File | 21714 bytes | April 10 2024 04:58:34. | |
bdb.pyc | File | 19101 bytes | April 10 2024 04:58:47. | |
bdb.pyo | File | 19101 bytes | April 10 2024 04:58:47. | |
binhex.py | File | 14698 bytes | April 10 2024 04:58:34. | |
binhex.pyc | File | 15460 bytes | April 10 2024 04:58:47. | |
binhex.pyo | File | 15460 bytes | April 10 2024 04:58:47. | |
bisect.py | File | 2595 bytes | April 10 2024 04:58:34. | |
bisect.pyc | File | 3071 bytes | April 10 2024 04:58:47. | |
bisect.pyo | File | 3071 bytes | April 10 2024 04:58:47. | |
cProfile.py | File | 6573 bytes | April 10 2024 04:58:34. | |
cProfile.pyc | File | 6395 bytes | April 10 2024 04:58:47. | |
cProfile.pyo | File | 6395 bytes | April 10 2024 04:58:47. | |
calendar.py | File | 23384 bytes | April 10 2024 04:58:34. | |
calendar.pyc | File | 27913 bytes | April 10 2024 04:58:47. | |
calendar.pyo | File | 27913 bytes | April 10 2024 04:58:47. | |
cgi.py | File | 36308 bytes | April 10 2024 04:58:34. | |
cgi.pyc | File | 33366 bytes | April 10 2024 04:58:47. | |
cgi.pyo | File | 33366 bytes | April 10 2024 04:58:47. | |
cgitb.py | File | 12175 bytes | April 10 2024 04:58:34. | |
cgitb.pyc | File | 12138 bytes | April 10 2024 04:58:47. | |
cgitb.pyo | File | 12138 bytes | April 10 2024 04:58:47. | |
chunk.py | File | 5419 bytes | April 10 2024 04:58:34. | |
chunk.pyc | File | 5602 bytes | April 10 2024 04:58:47. | |
chunk.pyo | File | 5602 bytes | April 10 2024 04:58:47. | |
cmd.py | File | 15026 bytes | April 10 2024 04:58:34. | |
cmd.pyc | File | 14039 bytes | April 10 2024 04:58:47. | |
cmd.pyo | File | 14039 bytes | April 10 2024 04:58:47. | |
code.py | File | 10189 bytes | April 10 2024 04:58:34. | |
code.pyc | File | 10334 bytes | April 10 2024 04:58:47. | |
code.pyo | File | 10334 bytes | April 10 2024 04:58:47. | |
codecs.py | File | 36143 bytes | April 10 2024 04:58:34. | |
codecs.pyc | File | 36824 bytes | April 10 2024 04:58:47. | |
codecs.pyo | File | 36824 bytes | April 10 2024 04:58:47. | |
codeop.py | File | 5999 bytes | April 10 2024 04:58:34. | |
codeop.pyc | File | 6597 bytes | April 10 2024 04:58:47. | |
codeop.pyo | File | 6597 bytes | April 10 2024 04:58:47. | |
collections.py | File | 27798 bytes | April 10 2024 04:58:34. | |
collections.pyc | File | 26163 bytes | April 10 2024 04:58:47. | |
collections.pyo | File | 26112 bytes | April 10 2024 04:58:44. | |
colorsys.py | File | 3691 bytes | April 10 2024 04:58:34. | |
colorsys.pyc | File | 3991 bytes | April 10 2024 04:58:47. | |
colorsys.pyo | File | 3991 bytes | April 10 2024 04:58:47. | |
commands.py | File | 2545 bytes | April 10 2024 04:58:34. | |
commands.pyc | File | 2469 bytes | April 10 2024 04:58:47. | |
commands.pyo | File | 2469 bytes | April 10 2024 04:58:47. | |
compileall.py | File | 7763 bytes | April 10 2024 04:58:34. | |
compileall.pyc | File | 7017 bytes | April 10 2024 04:58:47. | |
compileall.pyo | File | 7017 bytes | April 10 2024 04:58:47. | |
contextlib.py | File | 4424 bytes | April 10 2024 04:58:34. | |
contextlib.pyc | File | 4454 bytes | April 10 2024 04:58:47. | |
contextlib.pyo | File | 4454 bytes | April 10 2024 04:58:47. | |
cookielib.py | File | 65486 bytes | April 10 2024 04:58:34. | |
cookielib.pyc | File | 54725 bytes | April 10 2024 04:58:47. | |
cookielib.pyo | File | 54537 bytes | April 10 2024 04:58:44. | |
copy.py | File | 11533 bytes | April 10 2024 04:58:34. | |
copy.pyc | File | 12170 bytes | April 10 2024 04:58:47. | |
copy.pyo | File | 12078 bytes | April 10 2024 04:58:44. | |
copy_reg.py | File | 6974 bytes | April 10 2024 04:58:34. | |
copy_reg.pyc | File | 5167 bytes | April 10 2024 04:58:47. | |
copy_reg.pyo | File | 5123 bytes | April 10 2024 04:58:44. | |
crypt.py | File | 2292 bytes | April 10 2024 04:58:34. | |
crypt.pyc | File | 2960 bytes | April 10 2024 04:58:47. | |
crypt.pyo | File | 2960 bytes | April 10 2024 04:58:47. | |
csv.py | File | 16708 bytes | April 10 2024 04:58:34. | |
csv.pyc | File | 13507 bytes | April 10 2024 04:58:47. | |
csv.pyo | File | 13507 bytes | April 10 2024 04:58:47. | |
dbhash.py | File | 498 bytes | April 10 2024 04:58:34. | |
dbhash.pyc | File | 718 bytes | April 10 2024 04:58:47. | |
dbhash.pyo | File | 718 bytes | April 10 2024 04:58:47. | |
decimal.py | File | 221933 bytes | April 10 2024 04:58:34. | |
decimal.pyc | File | 172155 bytes | April 10 2024 04:58:47. | |
decimal.pyo | File | 172155 bytes | April 10 2024 04:58:47. | |
difflib.py | File | 82325 bytes | April 10 2024 04:58:34. | |
difflib.pyc | File | 61898 bytes | April 10 2024 04:58:47. | |
difflib.pyo | File | 61847 bytes | April 10 2024 04:58:44. | |
dircache.py | File | 1126 bytes | April 10 2024 04:58:34. | |
dircache.pyc | File | 1576 bytes | April 10 2024 04:58:47. | |
dircache.pyo | File | 1576 bytes | April 10 2024 04:58:47. | |
dis.py | File | 6499 bytes | April 10 2024 04:58:34. | |
dis.pyc | File | 6228 bytes | April 10 2024 04:58:47. | |
dis.pyo | File | 6228 bytes | April 10 2024 04:58:47. | |
doctest.py | File | 105095 bytes | April 10 2024 04:58:34. | |
doctest.pyc | File | 83637 bytes | April 10 2024 04:58:47. | |
doctest.pyo | File | 83350 bytes | April 10 2024 04:58:44. | |
dumbdbm.py | File | 9141 bytes | April 10 2024 04:58:34. | |
dumbdbm.pyc | File | 6746 bytes | April 10 2024 04:58:47. | |
dumbdbm.pyo | File | 6746 bytes | April 10 2024 04:58:47. | |
dummy_thread.py | File | 4418 bytes | April 10 2024 04:58:34. | |
dummy_thread.pyc | File | 5394 bytes | April 10 2024 04:58:47. | |
dummy_thread.pyo | File | 5394 bytes | April 10 2024 04:58:47. | |
dummy_threading.py | File | 2804 bytes | April 10 2024 04:58:34. | |
dummy_threading.pyc | File | 1285 bytes | April 10 2024 04:58:47. | |
dummy_threading.pyo | File | 1285 bytes | April 10 2024 04:58:47. | |
filecmp.py | File | 9588 bytes | April 10 2024 04:58:34. | |
filecmp.pyc | File | 9622 bytes | April 10 2024 04:58:47. | |
filecmp.pyo | File | 9622 bytes | April 10 2024 04:58:47. | |
fileinput.py | File | 13746 bytes | April 10 2024 04:58:34. | |
fileinput.pyc | File | 14500 bytes | April 10 2024 04:58:47. | |
fileinput.pyo | File | 14500 bytes | April 10 2024 04:58:47. | |
fnmatch.py | File | 3315 bytes | April 10 2024 04:58:34. | |
fnmatch.pyc | File | 3614 bytes | April 10 2024 04:58:47. | |
fnmatch.pyo | File | 3614 bytes | April 10 2024 04:58:47. | |
formatter.py | File | 14911 bytes | April 10 2024 04:58:34. | |
formatter.pyc | File | 19178 bytes | April 10 2024 04:58:47. | |
formatter.pyo | File | 19178 bytes | April 10 2024 04:58:47. | |
fpformat.py | File | 4732 bytes | April 10 2024 04:58:34. | |
fpformat.pyc | File | 4703 bytes | April 10 2024 04:58:47. | |
fpformat.pyo | File | 4703 bytes | April 10 2024 04:58:47. | |
fractions.py | File | 22390 bytes | April 10 2024 04:58:34. | |
fractions.pyc | File | 19711 bytes | April 10 2024 04:58:47. | |
fractions.pyo | File | 19711 bytes | April 10 2024 04:58:47. | |
ftplib.py | File | 38555 bytes | April 10 2024 04:58:34. | |
ftplib.pyc | File | 34939 bytes | April 10 2024 04:58:47. | |
ftplib.pyo | File | 34939 bytes | April 10 2024 04:58:47. | |
functools.py | File | 4806 bytes | April 10 2024 04:58:34. | |
functools.pyc | File | 6629 bytes | April 10 2024 04:58:47. | |
functools.pyo | File | 6629 bytes | April 10 2024 04:58:47. | |
genericpath.py | File | 3201 bytes | April 10 2024 04:58:34. | |
genericpath.pyc | File | 3517 bytes | April 10 2024 04:58:47. | |
genericpath.pyo | File | 3517 bytes | April 10 2024 04:58:47. | |
getopt.py | File | 7319 bytes | April 10 2024 04:58:34. | |
getopt.pyc | File | 6654 bytes | April 10 2024 04:58:47. | |
getopt.pyo | File | 6609 bytes | April 10 2024 04:58:44. | |
getpass.py | File | 5563 bytes | April 10 2024 04:58:34. | |
getpass.pyc | File | 4744 bytes | April 10 2024 04:58:47. | |
getpass.pyo | File | 4744 bytes | April 10 2024 04:58:47. | |
gettext.py | File | 22666 bytes | April 10 2024 04:58:34. | |
gettext.pyc | File | 18004 bytes | April 10 2024 04:58:47. | |
gettext.pyo | File | 18004 bytes | April 10 2024 04:58:47. | |
glob.py | File | 3114 bytes | April 10 2024 04:58:34. | |
glob.pyc | File | 2943 bytes | April 10 2024 04:58:47. | |
glob.pyo | File | 2943 bytes | April 10 2024 04:58:47. | |
gzip.py | File | 19028 bytes | April 10 2024 04:58:34. | |
gzip.pyc | File | 15236 bytes | April 10 2024 04:58:47. | |
gzip.pyo | File | 15236 bytes | April 10 2024 04:58:47. | |
hashlib.py | File | 7841 bytes | April 10 2024 04:58:34. | |
hashlib.pyc | File | 6919 bytes | April 10 2024 04:58:47. | |
hashlib.pyo | File | 6919 bytes | April 10 2024 04:58:47. | |
heapq.py | File | 18295 bytes | April 10 2024 04:58:34. | |
heapq.pyc | File | 14564 bytes | April 10 2024 04:58:47. | |
heapq.pyo | File | 14564 bytes | April 10 2024 04:58:47. | |
hmac.py | File | 4588 bytes | April 10 2024 04:58:34. | |
hmac.pyc | File | 4542 bytes | April 10 2024 04:58:47. | |
hmac.pyo | File | 4542 bytes | April 10 2024 04:58:47. | |
htmlentitydefs.py | File | 18056 bytes | April 10 2024 04:58:34. | |
htmlentitydefs.pyc | File | 6367 bytes | April 10 2024 04:58:47. | |
htmlentitydefs.pyo | File | 6367 bytes | April 10 2024 04:58:47. | |
htmllib.py | File | 12869 bytes | April 10 2024 04:58:34. | |
htmllib.pyc | File | 20309 bytes | April 10 2024 04:58:47. | |
htmllib.pyo | File | 20309 bytes | April 10 2024 04:58:47. | |
httplib.py | File | 53306 bytes | April 10 2024 04:58:34. | |
httplib.pyc | File | 38724 bytes | April 10 2024 04:58:47. | |
httplib.pyo | File | 38540 bytes | April 10 2024 04:58:44. | |
ihooks.py | File | 18986 bytes | April 10 2024 04:58:34. | |
ihooks.pyc | File | 21372 bytes | April 10 2024 04:58:47. | |
ihooks.pyo | File | 21372 bytes | April 10 2024 04:58:47. | |
imaplib.py | File | 48366 bytes | April 10 2024 04:58:34. | |
imaplib.pyc | File | 45011 bytes | April 10 2024 04:58:47. | |
imaplib.pyo | File | 42310 bytes | April 10 2024 04:58:44. | |
imghdr.py | File | 3541 bytes | April 10 2024 04:58:34. | |
imghdr.pyc | File | 4838 bytes | April 10 2024 04:58:47. | |
imghdr.pyo | File | 4838 bytes | April 10 2024 04:58:47. | |
imputil.py | File | 25764 bytes | April 10 2024 04:58:34. | |
imputil.pyc | File | 15623 bytes | April 10 2024 04:58:47. | |
imputil.pyo | File | 15445 bytes | April 10 2024 04:58:44. | |
inspect.py | File | 43008 bytes | April 10 2024 04:58:34. | |
inspect.pyc | File | 40229 bytes | April 10 2024 04:58:47. | |
inspect.pyo | File | 40229 bytes | April 10 2024 04:58:47. | |
io.py | File | 3322 bytes | April 10 2024 04:58:34. | |
io.pyc | File | 3589 bytes | April 10 2024 04:58:47. | |
io.pyo | File | 3589 bytes | April 10 2024 04:58:47. | |
keyword.py | File | 1995 bytes | April 10 2024 04:58:34. | |
keyword.pyc | File | 2105 bytes | April 10 2024 04:58:47. | |
keyword.pyo | File | 2105 bytes | April 10 2024 04:58:47. | |
linecache.py | File | 4027 bytes | April 10 2024 04:58:34. | |
linecache.pyc | File | 3272 bytes | April 10 2024 04:58:47. | |
linecache.pyo | File | 3272 bytes | April 10 2024 04:58:47. | |
locale.py | File | 102834 bytes | April 10 2024 04:58:34. | |
locale.pyc | File | 56610 bytes | April 10 2024 04:58:47. | |
locale.pyo | File | 56610 bytes | April 10 2024 04:58:47. | |
macpath.py | File | 6289 bytes | April 10 2024 04:58:34. | |
macpath.pyc | File | 7681 bytes | April 10 2024 04:58:47. | |
macpath.pyo | File | 7681 bytes | April 10 2024 04:58:47. | |
macurl2path.py | File | 2731 bytes | April 10 2024 04:58:34. | |
macurl2path.pyc | File | 2244 bytes | April 10 2024 04:58:47. | |
macurl2path.pyo | File | 2244 bytes | April 10 2024 04:58:47. | |
mailbox.py | File | 81240 bytes | April 10 2024 04:58:34. | |
mailbox.pyc | File | 76717 bytes | April 10 2024 04:58:47. | |
mailbox.pyo | File | 76670 bytes | April 10 2024 04:58:44. | |
mailcap.py | File | 8404 bytes | April 10 2024 04:58:34. | |
mailcap.pyc | File | 7955 bytes | April 10 2024 04:58:47. | |
mailcap.pyo | File | 7955 bytes | April 10 2024 04:58:47. | |
markupbase.py | File | 14643 bytes | April 10 2024 04:58:34. | |
markupbase.pyc | File | 9267 bytes | April 10 2024 04:58:47. | |
markupbase.pyo | File | 9071 bytes | April 10 2024 04:58:44. | |
md5.py | File | 358 bytes | April 10 2024 04:58:34. | |
md5.pyc | File | 378 bytes | April 10 2024 04:58:47. | |
md5.pyo | File | 378 bytes | April 10 2024 04:58:47. | |
mhlib.py | File | 33434 bytes | April 10 2024 04:58:34. | |
mhlib.pyc | File | 33777 bytes | April 10 2024 04:58:47. | |
mhlib.pyo | File | 33777 bytes | April 10 2024 04:58:47. | |
mimetools.py | File | 7168 bytes | April 10 2024 04:58:34. | |
mimetools.pyc | File | 8201 bytes | April 10 2024 04:58:47. | |
mimetools.pyo | File | 8201 bytes | April 10 2024 04:58:47. | |
mimetypes.py | File | 21028 bytes | April 10 2024 04:58:34. | |
mimetypes.pyc | File | 18489 bytes | April 10 2024 04:58:47. | |
mimetypes.pyo | File | 18489 bytes | April 10 2024 04:58:47. | |
mimify.py | File | 15020 bytes | April 10 2024 04:58:34. | |
mimify.pyc | File | 12001 bytes | April 10 2024 04:58:47. | |
mimify.pyo | File | 12001 bytes | April 10 2024 04:58:47. | |
modulefinder.py | File | 24461 bytes | April 10 2024 04:58:34. | |
modulefinder.pyc | File | 19127 bytes | April 10 2024 04:58:47. | |
modulefinder.pyo | File | 19045 bytes | April 10 2024 04:58:44. | |
multifile.py | File | 4820 bytes | April 10 2024 04:58:34. | |
multifile.pyc | File | 5420 bytes | April 10 2024 04:58:47. | |
multifile.pyo | File | 5378 bytes | April 10 2024 04:58:44. | |
mutex.py | File | 1878 bytes | April 10 2024 04:58:34. | |
mutex.pyc | File | 2516 bytes | April 10 2024 04:58:47. | |
mutex.pyo | File | 2516 bytes | April 10 2024 04:58:47. | |
netrc.py | File | 5888 bytes | April 10 2024 04:58:34. | |
netrc.pyc | File | 4714 bytes | April 10 2024 04:58:47. | |
netrc.pyo | File | 4714 bytes | April 10 2024 04:58:47. | |
new.py | File | 610 bytes | April 10 2024 04:58:34. | |
new.pyc | File | 862 bytes | April 10 2024 04:58:47. | |
new.pyo | File | 862 bytes | April 10 2024 04:58:47. | |
nntplib.py | File | 21470 bytes | April 10 2024 04:58:34. | |
nntplib.pyc | File | 21044 bytes | April 10 2024 04:58:47. | |
nntplib.pyo | File | 21044 bytes | April 10 2024 04:58:47. | |
ntpath.py | File | 19429 bytes | April 10 2024 04:58:34. | |
ntpath.pyc | File | 13129 bytes | April 10 2024 04:58:47. | |
ntpath.pyo | File | 13129 bytes | April 10 2024 04:58:47. | |
nturl2path.py | File | 2419 bytes | April 10 2024 04:58:34. | |
nturl2path.pyc | File | 1815 bytes | April 10 2024 04:58:47. | |
nturl2path.pyo | File | 1815 bytes | April 10 2024 04:58:47. | |
numbers.py | File | 10319 bytes | April 10 2024 04:58:34. | |
numbers.pyc | File | 14012 bytes | April 10 2024 04:58:47. | |
numbers.pyo | File | 14012 bytes | April 10 2024 04:58:47. | |
opcode.py | File | 5474 bytes | April 10 2024 04:58:34. | |
opcode.pyc | File | 6145 bytes | April 10 2024 04:58:47. | |
opcode.pyo | File | 6145 bytes | April 10 2024 04:58:47. | |
optparse.py | File | 61203 bytes | April 10 2024 04:58:34. | |
optparse.pyc | File | 53894 bytes | April 10 2024 04:58:47. | |
optparse.pyo | File | 53811 bytes | April 10 2024 04:58:44. | |
os.py | File | 25910 bytes | April 10 2024 04:58:34. | |
os.pyc | File | 25689 bytes | April 10 2024 04:58:47. | |
os.pyo | File | 25689 bytes | April 10 2024 04:58:47. | |
os2emxpath.py | File | 4635 bytes | April 10 2024 04:58:34. | |
os2emxpath.pyc | File | 4525 bytes | April 10 2024 04:58:47. | |
os2emxpath.pyo | File | 4525 bytes | April 10 2024 04:58:47. | |
pdb.doc | File | 7914 bytes | April 10 2024 04:58:34. | |
pdb.py | File | 46098 bytes | April 10 2024 04:58:34. | |
pdb.pyc | File | 43669 bytes | April 10 2024 04:58:47. | |
pdb.pyo | File | 43669 bytes | April 10 2024 04:58:47. | |
pickle.py | File | 45489 bytes | April 10 2024 04:58:34. | |
pickle.pyc | File | 38560 bytes | April 10 2024 04:58:47. | |
pickle.pyo | File | 38364 bytes | April 10 2024 04:58:44. | |
pickletools.py | File | 74523 bytes | April 10 2024 04:58:34. | |
pickletools.pyc | File | 57032 bytes | April 10 2024 04:58:46. | |
pickletools.pyo | File | 56171 bytes | April 10 2024 04:58:44. | |
pipes.py | File | 9582 bytes | April 10 2024 04:58:34. | |
pipes.pyc | File | 9308 bytes | April 10 2024 04:58:46. | |
pipes.pyo | File | 9308 bytes | April 10 2024 04:58:46. | |
pkgutil.py | File | 20243 bytes | April 10 2024 04:58:34. | |
pkgutil.pyc | File | 18959 bytes | April 10 2024 04:58:46. | |
pkgutil.pyo | File | 18959 bytes | April 10 2024 04:58:46. | |
platform.py | File | 52801 bytes | April 10 2024 04:58:34. | |
platform.pyc | File | 37971 bytes | April 10 2024 04:58:46. | |
platform.pyo | File | 37971 bytes | April 10 2024 04:58:46. | |
plistlib.py | File | 15810 bytes | April 10 2024 04:58:34. | |
plistlib.pyc | File | 19963 bytes | April 10 2024 04:58:46. | |
plistlib.pyo | File | 19877 bytes | April 10 2024 04:58:44. | |
popen2.py | File | 8416 bytes | April 10 2024 04:58:34. | |
popen2.pyc | File | 9025 bytes | April 10 2024 04:58:46. | |
popen2.pyo | File | 8983 bytes | April 10 2024 04:58:44. | |
poplib.py | File | 12824 bytes | April 10 2024 04:58:34. | |
poplib.pyc | File | 13345 bytes | April 10 2024 04:58:46. | |
poplib.pyo | File | 13345 bytes | April 10 2024 04:58:46. | |
posixfile.py | File | 8003 bytes | April 10 2024 04:58:34. | |
posixfile.pyc | File | 7652 bytes | April 10 2024 04:58:46. | |
posixfile.pyo | File | 7652 bytes | April 10 2024 04:58:46. | |
posixpath.py | File | 14293 bytes | April 10 2024 04:58:34. | |
posixpath.pyc | File | 11462 bytes | April 10 2024 04:58:46. | |
posixpath.pyo | File | 11462 bytes | April 10 2024 04:58:46. | |
pprint.py | File | 11777 bytes | April 10 2024 04:58:34. | |
pprint.pyc | File | 10194 bytes | April 10 2024 04:58:46. | |
pprint.pyo | File | 10017 bytes | April 10 2024 04:58:44. | |
profile.py | File | 22781 bytes | April 10 2024 04:58:34. | |
profile.pyc | File | 16456 bytes | April 10 2024 04:58:46. | |
profile.pyo | File | 16209 bytes | April 10 2024 04:58:44. | |
pstats.py | File | 26712 bytes | April 10 2024 04:58:34. | |
pstats.pyc | File | 25013 bytes | April 10 2024 04:58:46. | |
pstats.pyo | File | 25013 bytes | April 10 2024 04:58:46. | |
pty.py | File | 5058 bytes | April 10 2024 04:58:34. | |
pty.pyc | File | 4966 bytes | April 10 2024 04:58:46. | |
pty.pyo | File | 4966 bytes | April 10 2024 04:58:46. | |
py_compile.py | File | 5936 bytes | April 10 2024 04:58:34. | |
py_compile.pyc | File | 6428 bytes | April 10 2024 04:58:46. | |
py_compile.pyo | File | 6428 bytes | April 10 2024 04:58:46. | |
pyclbr.py | File | 13388 bytes | April 10 2024 04:58:34. | |
pyclbr.pyc | File | 9651 bytes | April 10 2024 04:58:46. | |
pyclbr.pyo | File | 9651 bytes | April 10 2024 04:58:46. | |
pydoc.py | File | 95739 bytes | April 10 2024 04:58:34. | |
pydoc.pyc | File | 92342 bytes | April 10 2024 04:58:46. | |
pydoc.pyo | File | 92278 bytes | April 10 2024 04:58:44. | |
quopri.py | File | 6968 bytes | April 10 2024 04:58:34. | |
quopri.pyc | File | 6574 bytes | April 10 2024 04:58:46. | |
quopri.pyo | File | 6574 bytes | April 10 2024 04:58:46. | |
random.py | File | 32457 bytes | April 10 2024 04:58:34. | |
random.pyc | File | 25704 bytes | April 10 2024 04:58:46. | |
random.pyo | File | 25704 bytes | April 10 2024 04:58:46. | |
re.py | File | 13423 bytes | April 10 2024 04:58:34. | |
re.pyc | File | 13413 bytes | April 10 2024 04:58:46. | |
re.pyo | File | 13413 bytes | April 10 2024 04:58:46. | |
repr.py | File | 4296 bytes | April 10 2024 04:58:34. | |
repr.pyc | File | 5385 bytes | April 10 2024 04:58:46. | |
repr.pyo | File | 5385 bytes | April 10 2024 04:58:46. | |
rexec.py | File | 20148 bytes | April 10 2024 04:58:34. | |
rexec.pyc | File | 23807 bytes | April 10 2024 04:58:46. | |
rexec.pyo | File | 23807 bytes | April 10 2024 04:58:46. | |
rfc822.py | File | 33542 bytes | April 10 2024 04:58:34. | |
rfc822.pyc | File | 31813 bytes | April 10 2024 04:58:46. | |
rfc822.pyo | File | 31813 bytes | April 10 2024 04:58:46. | |
rlcompleter.py | File | 5991 bytes | April 10 2024 04:58:34. | |
rlcompleter.pyc | File | 6078 bytes | April 10 2024 04:58:46. | |
rlcompleter.pyo | File | 6078 bytes | April 10 2024 04:58:46. | |
robotparser.py | File | 7695 bytes | April 10 2024 04:58:34. | |
robotparser.pyc | File | 8003 bytes | April 10 2024 04:58:46. | |
robotparser.pyo | File | 8003 bytes | April 10 2024 04:58:46. | |
runpy.py | File | 11081 bytes | April 10 2024 04:58:34. | |
runpy.pyc | File | 8803 bytes | April 10 2024 04:58:46. | |
runpy.pyo | File | 8803 bytes | April 10 2024 04:58:46. | |
sched.py | File | 5088 bytes | April 10 2024 04:58:34. | |
sched.pyc | File | 4994 bytes | April 10 2024 04:58:46. | |
sched.pyo | File | 4994 bytes | April 10 2024 04:58:46. | |
sets.py | File | 19050 bytes | April 10 2024 04:58:34. | |
sets.pyc | File | 16895 bytes | April 10 2024 04:58:46. | |
sets.pyo | File | 16895 bytes | April 10 2024 04:58:46. | |
sgmllib.py | File | 17884 bytes | April 10 2024 04:58:34. | |
sgmllib.pyc | File | 15436 bytes | April 10 2024 04:58:46. | |
sgmllib.pyo | File | 15436 bytes | April 10 2024 04:58:46. | |
sha.py | File | 393 bytes | April 10 2024 04:58:34. | |
sha.pyc | File | 421 bytes | April 10 2024 04:58:46. | |
sha.pyo | File | 421 bytes | April 10 2024 04:58:46. | |
shelve.py | File | 8178 bytes | April 10 2024 04:58:34. | |
shelve.pyc | File | 10256 bytes | April 10 2024 04:58:46. | |
shelve.pyo | File | 10256 bytes | April 10 2024 04:58:46. | |
shlex.py | File | 11164 bytes | April 10 2024 04:58:34. | |
shlex.pyc | File | 7558 bytes | April 10 2024 04:58:46. | |
shlex.pyo | File | 7558 bytes | April 10 2024 04:58:46. | |
shutil.py | File | 19871 bytes | April 10 2024 04:58:34. | |
shutil.pyc | File | 19259 bytes | April 10 2024 04:58:46. | |
shutil.pyo | File | 19259 bytes | April 10 2024 04:58:46. | |
site.py | File | 21296 bytes | April 10 2024 04:58:34. | |
site.pyc | File | 20786 bytes | April 10 2024 04:58:46. | |
site.pyo | File | 20786 bytes | April 10 2024 04:58:46. | |
smtpd.py | File | 18542 bytes | April 10 2024 04:58:34. | |
smtpd.pyc | File | 15883 bytes | April 10 2024 04:58:46. | |
smtpd.pyo | File | 15883 bytes | April 10 2024 04:58:46. | |
smtplib.py | File | 32134 bytes | April 10 2024 04:58:34. | |
smtplib.pyc | File | 30304 bytes | April 10 2024 04:58:46. | |
smtplib.pyo | File | 30304 bytes | April 10 2024 04:58:46. | |
sndhdr.py | File | 5973 bytes | April 10 2024 04:58:34. | |
sndhdr.pyc | File | 7361 bytes | April 10 2024 04:58:46. | |
sndhdr.pyo | File | 7361 bytes | April 10 2024 04:58:46. | |
socket.py | File | 20615 bytes | April 10 2024 04:58:34. | |
socket.pyc | File | 16152 bytes | April 10 2024 04:58:46. | |
socket.pyo | File | 16066 bytes | April 10 2024 04:58:44. | |
sre.py | File | 384 bytes | April 10 2024 04:58:34. | |
sre.pyc | File | 519 bytes | April 10 2024 04:58:46. | |
sre.pyo | File | 519 bytes | April 10 2024 04:58:46. | |
sre_compile.py | File | 19823 bytes | April 10 2024 04:58:34. | |
sre_compile.pyc | File | 12560 bytes | April 10 2024 04:58:46. | |
sre_compile.pyo | File | 12404 bytes | April 10 2024 04:58:44. | |
sre_constants.py | File | 7197 bytes | April 10 2024 04:58:34. | |
sre_constants.pyc | File | 6195 bytes | April 10 2024 04:58:46. | |
sre_constants.pyo | File | 6195 bytes | April 10 2024 04:58:46. | |
sre_parse.py | File | 30700 bytes | April 10 2024 04:58:34. | |
sre_parse.pyc | File | 21156 bytes | April 10 2024 04:58:46. | |
sre_parse.pyo | File | 21156 bytes | April 10 2024 04:58:46. | |
ssl.py | File | 39310 bytes | April 10 2024 04:58:34. | |
ssl.pyc | File | 32716 bytes | April 10 2024 04:58:46. | |
ssl.pyo | File | 32716 bytes | April 10 2024 04:58:46. | |
stat.py | File | 1842 bytes | April 10 2024 04:58:34. | |
stat.pyc | File | 2751 bytes | April 10 2024 04:58:46. | |
stat.pyo | File | 2751 bytes | April 10 2024 04:58:46. | |
statvfs.py | File | 898 bytes | April 10 2024 04:58:34. | |
statvfs.pyc | File | 620 bytes | April 10 2024 04:58:46. | |
statvfs.pyo | File | 620 bytes | April 10 2024 04:58:46. | |
string.py | File | 21548 bytes | April 10 2024 04:58:34. | |
string.pyc | File | 20459 bytes | April 10 2024 04:58:46. | |
string.pyo | File | 20459 bytes | April 10 2024 04:58:46. | |
stringold.py | File | 12449 bytes | April 10 2024 04:58:34. | |
stringold.pyc | File | 12549 bytes | April 10 2024 04:58:46. | |
stringold.pyo | File | 12549 bytes | April 10 2024 04:58:46. | |
stringprep.py | File | 13522 bytes | April 10 2024 04:58:34. | |
stringprep.pyc | File | 14487 bytes | April 10 2024 04:58:46. | |
stringprep.pyo | File | 14415 bytes | April 10 2024 04:58:44. | |
struct.py | File | 82 bytes | April 10 2024 04:58:34. | |
struct.pyc | File | 239 bytes | April 10 2024 04:58:46. | |
struct.pyo | File | 239 bytes | April 10 2024 04:58:46. | |
subprocess.py | File | 50520 bytes | April 10 2024 04:58:34. | |
subprocess.pyc | File | 32398 bytes | April 10 2024 04:58:46. | |
subprocess.pyo | File | 32398 bytes | April 10 2024 04:58:46. | |
sunau.py | File | 17222 bytes | April 10 2024 04:58:34. | |
sunau.pyc | File | 18394 bytes | April 10 2024 04:58:46. | |
sunau.pyo | File | 18394 bytes | April 10 2024 04:58:46. | |
sunaudio.py | File | 1399 bytes | April 10 2024 04:58:34. | |
sunaudio.pyc | File | 1987 bytes | April 10 2024 04:58:46. | |
sunaudio.pyo | File | 1987 bytes | April 10 2024 04:58:46. | |
symbol.py | File | 2057 bytes | April 10 2024 04:58:34. | |
symbol.pyc | File | 3026 bytes | April 10 2024 04:58:46. | |
symbol.pyo | File | 3026 bytes | April 10 2024 04:58:46. | |
symtable.py | File | 7437 bytes | April 10 2024 04:58:34. | |
symtable.pyc | File | 11786 bytes | April 10 2024 04:58:46. | |
symtable.pyo | File | 11655 bytes | April 10 2024 04:58:44. | |
sysconfig.py | File | 22852 bytes | April 10 2024 04:58:41. | |
sysconfig.pyc | File | 17818 bytes | April 10 2024 04:58:46. | |
sysconfig.pyo | File | 17818 bytes | April 10 2024 04:58:46. | |
tabnanny.py | File | 11339 bytes | April 10 2024 04:58:34. | |
tabnanny.pyc | File | 8247 bytes | April 10 2024 04:58:46. | |
tabnanny.pyo | File | 8247 bytes | April 10 2024 04:58:46. | |
tarfile.py | File | 90655 bytes | April 10 2024 04:58:34. | |
tarfile.pyc | File | 76193 bytes | April 10 2024 04:58:46. | |
tarfile.pyo | File | 76193 bytes | April 10 2024 04:58:46. | |
telnetlib.py | File | 27036 bytes | April 10 2024 04:58:34. | |
telnetlib.pyc | File | 23154 bytes | April 10 2024 04:58:46. | |
telnetlib.pyo | File | 23154 bytes | April 10 2024 04:58:46. | |
tempfile.py | File | 19547 bytes | April 10 2024 04:58:34. | |
tempfile.pyc | File | 20344 bytes | April 10 2024 04:58:46. | |
tempfile.pyo | File | 20344 bytes | April 10 2024 04:58:46. | |
textwrap.py | File | 17280 bytes | April 10 2024 04:58:34. | |
textwrap.pyc | File | 12097 bytes | April 10 2024 04:58:46. | |
textwrap.pyo | File | 12005 bytes | April 10 2024 04:58:44. | |
this.py | File | 1002 bytes | April 10 2024 04:58:34. | |
this.pyc | File | 1220 bytes | April 10 2024 04:58:46. | |
this.pyo | File | 1220 bytes | April 10 2024 04:58:46. | |
threading.py | File | 47377 bytes | April 10 2024 04:58:34. | |
threading.pyc | File | 42726 bytes | April 10 2024 04:58:46. | |
threading.pyo | File | 40552 bytes | April 10 2024 04:58:44. | |
timeit.py | File | 12791 bytes | April 10 2024 04:58:34. | |
timeit.pyc | File | 12183 bytes | April 10 2024 04:58:46. | |
timeit.pyo | File | 12183 bytes | April 10 2024 04:58:46. | |
toaiff.py | File | 3142 bytes | April 10 2024 04:58:34. | |
toaiff.pyc | File | 3106 bytes | April 10 2024 04:58:46. | |
toaiff.pyo | File | 3106 bytes | April 10 2024 04:58:46. | |
token.py | File | 2922 bytes | April 10 2024 04:58:34. | |
token.pyc | File | 3816 bytes | April 10 2024 04:58:46. | |
token.pyo | File | 3816 bytes | April 10 2024 04:58:46. | |
tokenize.py | File | 17483 bytes | April 10 2024 04:58:34. | |
tokenize.pyc | File | 14505 bytes | April 10 2024 04:58:46. | |
tokenize.pyo | File | 14449 bytes | April 10 2024 04:58:44. | |
trace.py | File | 29891 bytes | April 10 2024 04:58:34. | |
trace.pyc | File | 22793 bytes | April 10 2024 04:58:46. | |
trace.pyo | File | 22730 bytes | April 10 2024 04:58:44. | |
traceback.py | File | 11285 bytes | April 10 2024 04:58:34. | |
traceback.pyc | File | 11679 bytes | April 10 2024 04:58:46. | |
traceback.pyo | File | 11679 bytes | April 10 2024 04:58:46. | |
tty.py | File | 879 bytes | April 10 2024 04:58:34. | |
tty.pyc | File | 1317 bytes | April 10 2024 04:58:46. | |
tty.pyo | File | 1317 bytes | April 10 2024 04:58:46. | |
types.py | File | 2094 bytes | April 10 2024 04:58:34. | |
types.pyc | File | 2725 bytes | April 10 2024 04:58:46. | |
types.pyo | File | 2725 bytes | April 10 2024 04:58:46. | |
urllib.py | File | 60228 bytes | April 10 2024 04:58:34. | |
urllib.pyc | File | 51241 bytes | April 10 2024 04:58:46. | |
urllib.pyo | File | 51146 bytes | April 10 2024 04:58:44. | |
urllib2.py | File | 52541 bytes | April 10 2024 04:58:34. | |
urllib2.pyc | File | 47302 bytes | April 10 2024 04:58:46. | |
urllib2.pyo | File | 47207 bytes | April 10 2024 04:58:44. | |
urlparse.py | File | 20461 bytes | April 10 2024 04:58:34. | |
urlparse.pyc | File | 18015 bytes | April 10 2024 04:58:46. | |
urlparse.pyo | File | 18015 bytes | April 10 2024 04:58:46. | |
user.py | File | 1627 bytes | April 10 2024 04:58:34. | |
user.pyc | File | 1724 bytes | April 10 2024 04:58:46. | |
user.pyo | File | 1724 bytes | April 10 2024 04:58:46. | |
uu.py | File | 6697 bytes | April 10 2024 04:58:34. | |
uu.pyc | File | 4390 bytes | April 10 2024 04:58:46. | |
uu.pyo | File | 4390 bytes | April 10 2024 04:58:46. | |
uuid.py | File | 23530 bytes | April 10 2024 04:58:34. | |
uuid.pyc | File | 23366 bytes | April 10 2024 04:58:46. | |
uuid.pyo | File | 23250 bytes | April 10 2024 04:58:44. | |
warnings.py | File | 14823 bytes | April 10 2024 04:58:34. | |
warnings.pyc | File | 13510 bytes | April 10 2024 04:58:46. | |
warnings.pyo | File | 12721 bytes | April 10 2024 04:58:44. | |
wave.py | File | 18582 bytes | April 10 2024 04:58:34. | |
wave.pyc | File | 20013 bytes | April 10 2024 04:58:46. | |
wave.pyo | File | 19869 bytes | April 10 2024 04:58:44. | |
weakref.py | File | 14830 bytes | April 10 2024 04:58:34. | |
weakref.pyc | File | 16441 bytes | April 10 2024 04:58:46. | |
weakref.pyo | File | 16441 bytes | April 10 2024 04:58:46. | |
webbrowser.py | File | 22725 bytes | April 10 2024 04:58:34. | |
webbrowser.pyc | File | 19750 bytes | April 10 2024 04:58:46. | |
webbrowser.pyo | File | 19705 bytes | April 10 2024 04:58:44. | |
whichdb.py | File | 3379 bytes | April 10 2024 04:58:34. | |
whichdb.pyc | File | 2241 bytes | April 10 2024 04:58:46. | |
whichdb.pyo | File | 2241 bytes | April 10 2024 04:58:46. | |
wsgiref.egg-info | File | 187 bytes | April 10 2024 04:58:34. | |
xdrlib.py | File | 6069 bytes | April 10 2024 04:58:34. | |
xdrlib.pyc | File | 9902 bytes | April 10 2024 04:58:46. | |
xdrlib.pyo | File | 9902 bytes | April 10 2024 04:58:46. | |
xmllib.py | File | 34865 bytes | April 10 2024 04:58:34. | |
xmllib.pyc | File | 26848 bytes | April 10 2024 04:58:46. | |
xmllib.pyo | File | 26848 bytes | April 10 2024 04:58:46. | |
xmlrpclib.py | File | 52136 bytes | April 10 2024 04:58:34. | |
xmlrpclib.pyc | File | 44106 bytes | April 10 2024 04:58:46. | |
xmlrpclib.pyo | File | 43922 bytes | April 10 2024 04:58:44. | |
zipfile.py | File | 59477 bytes | April 10 2024 04:58:34. | |
zipfile.pyc | File | 42137 bytes | April 10 2024 04:58:46. | |
zipfile.pyo | File | 42137 bytes | April 10 2024 04:58:46. |
"""Random variable generators. integers -------- uniform within range sequences --------- pick random element pick random sample generate random permutation distributions on the real line: ------------------------------ uniform triangular normal (Gaussian) lognormal negative exponential gamma beta pareto Weibull distributions on the circle (angles 0 to 2pi) --------------------------------------------- circular uniform von Mises General notes on the underlying Mersenne Twister core generator: * The period is 2**19937-1. * It is one of the most extensively tested generators in existence. * Without a direct way to compute N steps forward, the semantics of jumpahead(n) are weakened to simply jump to another distant state and rely on the large period to avoid overlapping sequences. * The random() method is implemented in C, executes in a single Python step, and is, therefore, threadsafe. """ from __future__ import division from warnings import warn as _warn from types import MethodType as _MethodType, BuiltinMethodType as _BuiltinMethodType from math import log as _log, exp as _exp, pi as _pi, e as _e, ceil as _ceil from math import sqrt as _sqrt, acos as _acos, cos as _cos, sin as _sin from os import urandom as _urandom from binascii import hexlify as _hexlify import hashlib as _hashlib __all__ = ["Random","seed","random","uniform","randint","choice","sample", "randrange","shuffle","normalvariate","lognormvariate", "expovariate","vonmisesvariate","gammavariate","triangular", "gauss","betavariate","paretovariate","weibullvariate", "getstate","setstate","jumpahead", "WichmannHill", "getrandbits", "SystemRandom"] NV_MAGICCONST = 4 * _exp(-0.5)/_sqrt(2.0) TWOPI = 2.0*_pi LOG4 = _log(4.0) SG_MAGICCONST = 1.0 + _log(4.5) BPF = 53 # Number of bits in a float RECIP_BPF = 2**-BPF # Translated by Guido van Rossum from C source provided by # Adrian Baddeley. Adapted by Raymond Hettinger for use with # the Mersenne Twister and os.urandom() core generators. import _random class Random(_random.Random): """Random number generator base class used by bound module functions. Used to instantiate instances of Random to get generators that don't share state. Especially useful for multi-threaded programs, creating a different instance of Random for each thread, and using the jumpahead() method to ensure that the generated sequences seen by each thread don't overlap. Class Random can also be subclassed if you want to use a different basic generator of your own devising: in that case, override the following methods: random(), seed(), getstate(), setstate() and jumpahead(). Optionally, implement a getrandbits() method so that randrange() can cover arbitrarily large ranges. """ VERSION = 3 # used by getstate/setstate def __init__(self, x=None): """Initialize an instance. Optional argument x controls seeding, as for Random.seed(). """ self.seed(x) self.gauss_next = None def seed(self, a=None): """Initialize internal state of the random number generator. None or no argument seeds from current time or from an operating system specific randomness source if available. If a is not None or is an int or long, hash(a) is used instead. Hash values for some types are nondeterministic when the PYTHONHASHSEED environment variable is enabled. """ if a is None: try: # Seed with enough bytes to span the 19937 bit # state space for the Mersenne Twister a = long(_hexlify(_urandom(2500)), 16) except NotImplementedError: import time a = long(time.time() * 256) # use fractional seconds super(Random, self).seed(a) self.gauss_next = None def getstate(self): """Return internal state; can be passed to setstate() later.""" return self.VERSION, super(Random, self).getstate(), self.gauss_next def setstate(self, state): """Restore internal state from object returned by getstate().""" version = state[0] if version == 3: version, internalstate, self.gauss_next = state super(Random, self).setstate(internalstate) elif version == 2: version, internalstate, self.gauss_next = state # In version 2, the state was saved as signed ints, which causes # inconsistencies between 32/64-bit systems. The state is # really unsigned 32-bit ints, so we convert negative ints from # version 2 to positive longs for version 3. try: internalstate = tuple( long(x) % (2**32) for x in internalstate ) except ValueError, e: raise TypeError, e super(Random, self).setstate(internalstate) else: raise ValueError("state with version %s passed to " "Random.setstate() of version %s" % (version, self.VERSION)) def jumpahead(self, n): """Change the internal state to one that is likely far away from the current state. This method will not be in Py3.x, so it is better to simply reseed. """ # The super.jumpahead() method uses shuffling to change state, # so it needs a large and "interesting" n to work with. Here, # we use hashing to create a large n for the shuffle. s = repr(n) + repr(self.getstate()) n = int(_hashlib.new('sha512', s).hexdigest(), 16) super(Random, self).jumpahead(n) ## ---- Methods below this point do not need to be overridden when ## ---- subclassing for the purpose of using a different core generator. ## -------------------- pickle support ------------------- def __getstate__(self): # for pickle return self.getstate() def __setstate__(self, state): # for pickle self.setstate(state) def __reduce__(self): return self.__class__, (), self.getstate() ## -------------------- integer methods ------------------- def randrange(self, start, stop=None, step=1, _int=int, _maxwidth=1L<<BPF): """Choose a random item from range(start, stop[, step]). This fixes the problem with randint() which includes the endpoint; in Python this is usually not what you want. """ # This code is a bit messy to make it fast for the # common case while still doing adequate error checking. istart = _int(start) if istart != start: raise ValueError, "non-integer arg 1 for randrange()" if stop is None: if istart > 0: if istart >= _maxwidth: return self._randbelow(istart) return _int(self.random() * istart) raise ValueError, "empty range for randrange()" # stop argument supplied. istop = _int(stop) if istop != stop: raise ValueError, "non-integer stop for randrange()" width = istop - istart if step == 1 and width > 0: # Note that # int(istart + self.random()*width) # instead would be incorrect. For example, consider istart # = -2 and istop = 0. Then the guts would be in # -2.0 to 0.0 exclusive on both ends (ignoring that random() # might return 0.0), and because int() truncates toward 0, the # final result would be -1 or 0 (instead of -2 or -1). # istart + int(self.random()*width) # would also be incorrect, for a subtler reason: the RHS # can return a long, and then randrange() would also return # a long, but we're supposed to return an int (for backward # compatibility). if width >= _maxwidth: return _int(istart + self._randbelow(width)) return _int(istart + _int(self.random()*width)) if step == 1: raise ValueError, "empty range for randrange() (%d,%d, %d)" % (istart, istop, width) # Non-unit step argument supplied. istep = _int(step) if istep != step: raise ValueError, "non-integer step for randrange()" if istep > 0: n = (width + istep - 1) // istep elif istep < 0: n = (width + istep + 1) // istep else: raise ValueError, "zero step for randrange()" if n <= 0: raise ValueError, "empty range for randrange()" if n >= _maxwidth: return istart + istep*self._randbelow(n) return istart + istep*_int(self.random() * n) def randint(self, a, b): """Return random integer in range [a, b], including both end points. """ return self.randrange(a, b+1) def _randbelow(self, n, _log=_log, _int=int, _maxwidth=1L<<BPF, _Method=_MethodType, _BuiltinMethod=_BuiltinMethodType): """Return a random int in the range [0,n) Handles the case where n has more bits than returned by a single call to the underlying generator. """ try: getrandbits = self.getrandbits except AttributeError: pass else: # Only call self.getrandbits if the original random() builtin method # has not been overridden or if a new getrandbits() was supplied. # This assures that the two methods correspond. if type(self.random) is _BuiltinMethod or type(getrandbits) is _Method: k = _int(1.00001 + _log(n-1, 2.0)) # 2**k > n-1 > 2**(k-2) r = getrandbits(k) while r >= n: r = getrandbits(k) return r if n >= _maxwidth: _warn("Underlying random() generator does not supply \n" "enough bits to choose from a population range this large") return _int(self.random() * n) ## -------------------- sequence methods ------------------- def choice(self, seq): """Choose a random element from a non-empty sequence.""" return seq[int(self.random() * len(seq))] # raises IndexError if seq is empty def shuffle(self, x, random=None): """x, random=random.random -> shuffle list x in place; return None. Optional arg random is a 0-argument function returning a random float in [0.0, 1.0); by default, the standard random.random. """ if random is None: random = self.random _int = int for i in reversed(xrange(1, len(x))): # pick an element in x[:i+1] with which to exchange x[i] j = _int(random() * (i+1)) x[i], x[j] = x[j], x[i] def sample(self, population, k): """Chooses k unique random elements from a population sequence. Returns a new list containing elements from the population while leaving the original population unchanged. The resulting list is in selection order so that all sub-slices will also be valid random samples. This allows raffle winners (the sample) to be partitioned into grand prize and second place winners (the subslices). Members of the population need not be hashable or unique. If the population contains repeats, then each occurrence is a possible selection in the sample. To choose a sample in a range of integers, use xrange as an argument. This is especially fast and space efficient for sampling from a large population: sample(xrange(10000000), 60) """ # Sampling without replacement entails tracking either potential # selections (the pool) in a list or previous selections in a set. # When the number of selections is small compared to the # population, then tracking selections is efficient, requiring # only a small set and an occasional reselection. For # a larger number of selections, the pool tracking method is # preferred since the list takes less space than the # set and it doesn't suffer from frequent reselections. n = len(population) if not 0 <= k <= n: raise ValueError("sample larger than population") random = self.random _int = int result = [None] * k setsize = 21 # size of a small set minus size of an empty list if k > 5: setsize += 4 ** _ceil(_log(k * 3, 4)) # table size for big sets if n <= setsize or hasattr(population, "keys"): # An n-length list is smaller than a k-length set, or this is a # mapping type so the other algorithm wouldn't work. pool = list(population) for i in xrange(k): # invariant: non-selected at [0,n-i) j = _int(random() * (n-i)) result[i] = pool[j] pool[j] = pool[n-i-1] # move non-selected item into vacancy else: try: selected = set() selected_add = selected.add for i in xrange(k): j = _int(random() * n) while j in selected: j = _int(random() * n) selected_add(j) result[i] = population[j] except (TypeError, KeyError): # handle (at least) sets if isinstance(population, list): raise return self.sample(tuple(population), k) return result ## -------------------- real-valued distributions ------------------- ## -------------------- uniform distribution ------------------- def uniform(self, a, b): "Get a random number in the range [a, b) or [a, b] depending on rounding." return a + (b-a) * self.random() ## -------------------- triangular -------------------- def triangular(self, low=0.0, high=1.0, mode=None): """Triangular distribution. Continuous distribution bounded by given lower and upper limits, and having a given mode value in-between. http://en.wikipedia.org/wiki/Triangular_distribution """ u = self.random() try: c = 0.5 if mode is None else (mode - low) / (high - low) except ZeroDivisionError: return low if u > c: u = 1.0 - u c = 1.0 - c low, high = high, low return low + (high - low) * (u * c) ** 0.5 ## -------------------- normal distribution -------------------- def normalvariate(self, mu, sigma): """Normal distribution. mu is the mean, and sigma is the standard deviation. """ # mu = mean, sigma = standard deviation # Uses Kinderman and Monahan method. Reference: Kinderman, # A.J. and Monahan, J.F., "Computer generation of random # variables using the ratio of uniform deviates", ACM Trans # Math Software, 3, (1977), pp257-260. random = self.random while 1: u1 = random() u2 = 1.0 - random() z = NV_MAGICCONST*(u1-0.5)/u2 zz = z*z/4.0 if zz <= -_log(u2): break return mu + z*sigma ## -------------------- lognormal distribution -------------------- def lognormvariate(self, mu, sigma): """Log normal distribution. If you take the natural logarithm of this distribution, you'll get a normal distribution with mean mu and standard deviation sigma. mu can have any value, and sigma must be greater than zero. """ return _exp(self.normalvariate(mu, sigma)) ## -------------------- exponential distribution -------------------- def expovariate(self, lambd): """Exponential distribution. lambd is 1.0 divided by the desired mean. It should be nonzero. (The parameter would be called "lambda", but that is a reserved word in Python.) Returned values range from 0 to positive infinity if lambd is positive, and from negative infinity to 0 if lambd is negative. """ # lambd: rate lambd = 1/mean # ('lambda' is a Python reserved word) # we use 1-random() instead of random() to preclude the # possibility of taking the log of zero. return -_log(1.0 - self.random())/lambd ## -------------------- von Mises distribution -------------------- def vonmisesvariate(self, mu, kappa): """Circular data distribution. mu is the mean angle, expressed in radians between 0 and 2*pi, and kappa is the concentration parameter, which must be greater than or equal to zero. If kappa is equal to zero, this distribution reduces to a uniform random angle over the range 0 to 2*pi. """ # mu: mean angle (in radians between 0 and 2*pi) # kappa: concentration parameter kappa (>= 0) # if kappa = 0 generate uniform random angle # Based upon an algorithm published in: Fisher, N.I., # "Statistical Analysis of Circular Data", Cambridge # University Press, 1993. # Thanks to Magnus Kessler for a correction to the # implementation of step 4. random = self.random if kappa <= 1e-6: return TWOPI * random() s = 0.5 / kappa r = s + _sqrt(1.0 + s * s) while 1: u1 = random() z = _cos(_pi * u1) d = z / (r + z) u2 = random() if u2 < 1.0 - d * d or u2 <= (1.0 - d) * _exp(d): break q = 1.0 / r f = (q + z) / (1.0 + q * z) u3 = random() if u3 > 0.5: theta = (mu + _acos(f)) % TWOPI else: theta = (mu - _acos(f)) % TWOPI return theta ## -------------------- gamma distribution -------------------- def gammavariate(self, alpha, beta): """Gamma distribution. Not the gamma function! Conditions on the parameters are alpha > 0 and beta > 0. The probability distribution function is: x ** (alpha - 1) * math.exp(-x / beta) pdf(x) = -------------------------------------- math.gamma(alpha) * beta ** alpha """ # alpha > 0, beta > 0, mean is alpha*beta, variance is alpha*beta**2 # Warning: a few older sources define the gamma distribution in terms # of alpha > -1.0 if alpha <= 0.0 or beta <= 0.0: raise ValueError, 'gammavariate: alpha and beta must be > 0.0' random = self.random if alpha > 1.0: # Uses R.C.H. Cheng, "The generation of Gamma # variables with non-integral shape parameters", # Applied Statistics, (1977), 26, No. 1, p71-74 ainv = _sqrt(2.0 * alpha - 1.0) bbb = alpha - LOG4 ccc = alpha + ainv while 1: u1 = random() if not 1e-7 < u1 < .9999999: continue u2 = 1.0 - random() v = _log(u1/(1.0-u1))/ainv x = alpha*_exp(v) z = u1*u1*u2 r = bbb+ccc*v-x if r + SG_MAGICCONST - 4.5*z >= 0.0 or r >= _log(z): return x * beta elif alpha == 1.0: # expovariate(1) u = random() while u <= 1e-7: u = random() return -_log(u) * beta else: # alpha is between 0 and 1 (exclusive) # Uses ALGORITHM GS of Statistical Computing - Kennedy & Gentle while 1: u = random() b = (_e + alpha)/_e p = b*u if p <= 1.0: x = p ** (1.0/alpha) else: x = -_log((b-p)/alpha) u1 = random() if p > 1.0: if u1 <= x ** (alpha - 1.0): break elif u1 <= _exp(-x): break return x * beta ## -------------------- Gauss (faster alternative) -------------------- def gauss(self, mu, sigma): """Gaussian distribution. mu is the mean, and sigma is the standard deviation. This is slightly faster than the normalvariate() function. Not thread-safe without a lock around calls. """ # When x and y are two variables from [0, 1), uniformly # distributed, then # # cos(2*pi*x)*sqrt(-2*log(1-y)) # sin(2*pi*x)*sqrt(-2*log(1-y)) # # are two *independent* variables with normal distribution # (mu = 0, sigma = 1). # (Lambert Meertens) # (corrected version; bug discovered by Mike Miller, fixed by LM) # Multithreading note: When two threads call this function # simultaneously, it is possible that they will receive the # same return value. The window is very small though. To # avoid this, you have to use a lock around all calls. (I # didn't want to slow this down in the serial case by using a # lock here.) random = self.random z = self.gauss_next self.gauss_next = None if z is None: x2pi = random() * TWOPI g2rad = _sqrt(-2.0 * _log(1.0 - random())) z = _cos(x2pi) * g2rad self.gauss_next = _sin(x2pi) * g2rad return mu + z*sigma ## -------------------- beta -------------------- ## See ## http://mail.python.org/pipermail/python-bugs-list/2001-January/003752.html ## for Ivan Frohne's insightful analysis of why the original implementation: ## ## def betavariate(self, alpha, beta): ## # Discrete Event Simulation in C, pp 87-88. ## ## y = self.expovariate(alpha) ## z = self.expovariate(1.0/beta) ## return z/(y+z) ## ## was dead wrong, and how it probably got that way. def betavariate(self, alpha, beta): """Beta distribution. Conditions on the parameters are alpha > 0 and beta > 0. Returned values range between 0 and 1. """ # This version due to Janne Sinkkonen, and matches all the std # texts (e.g., Knuth Vol 2 Ed 3 pg 134 "the beta distribution"). y = self.gammavariate(alpha, 1.) if y == 0: return 0.0 else: return y / (y + self.gammavariate(beta, 1.)) ## -------------------- Pareto -------------------- def paretovariate(self, alpha): """Pareto distribution. alpha is the shape parameter.""" # Jain, pg. 495 u = 1.0 - self.random() return 1.0 / pow(u, 1.0/alpha) ## -------------------- Weibull -------------------- def weibullvariate(self, alpha, beta): """Weibull distribution. alpha is the scale parameter and beta is the shape parameter. """ # Jain, pg. 499; bug fix courtesy Bill Arms u = 1.0 - self.random() return alpha * pow(-_log(u), 1.0/beta) ## -------------------- Wichmann-Hill ------------------- class WichmannHill(Random): VERSION = 1 # used by getstate/setstate def seed(self, a=None): """Initialize internal state from hashable object. None or no argument seeds from current time or from an operating system specific randomness source if available. If a is not None or an int or long, hash(a) is used instead. If a is an int or long, a is used directly. Distinct values between 0 and 27814431486575L inclusive are guaranteed to yield distinct internal states (this guarantee is specific to the default Wichmann-Hill generator). """ if a is None: try: a = long(_hexlify(_urandom(16)), 16) except NotImplementedError: import time a = long(time.time() * 256) # use fractional seconds if not isinstance(a, (int, long)): a = hash(a) a, x = divmod(a, 30268) a, y = divmod(a, 30306) a, z = divmod(a, 30322) self._seed = int(x)+1, int(y)+1, int(z)+1 self.gauss_next = None def random(self): """Get the next random number in the range [0.0, 1.0).""" # Wichman-Hill random number generator. # # Wichmann, B. A. & Hill, I. D. (1982) # Algorithm AS 183: # An efficient and portable pseudo-random number generator # Applied Statistics 31 (1982) 188-190 # # see also: # Correction to Algorithm AS 183 # Applied Statistics 33 (1984) 123 # # McLeod, A. I. (1985) # A remark on Algorithm AS 183 # Applied Statistics 34 (1985),198-200 # This part is thread-unsafe: # BEGIN CRITICAL SECTION x, y, z = self._seed x = (171 * x) % 30269 y = (172 * y) % 30307 z = (170 * z) % 30323 self._seed = x, y, z # END CRITICAL SECTION # Note: on a platform using IEEE-754 double arithmetic, this can # never return 0.0 (asserted by Tim; proof too long for a comment). return (x/30269.0 + y/30307.0 + z/30323.0) % 1.0 def getstate(self): """Return internal state; can be passed to setstate() later.""" return self.VERSION, self._seed, self.gauss_next def setstate(self, state): """Restore internal state from object returned by getstate().""" version = state[0] if version == 1: version, self._seed, self.gauss_next = state else: raise ValueError("state with version %s passed to " "Random.setstate() of version %s" % (version, self.VERSION)) def jumpahead(self, n): """Act as if n calls to random() were made, but quickly. n is an int, greater than or equal to 0. Example use: If you have 2 threads and know that each will consume no more than a million random numbers, create two Random objects r1 and r2, then do r2.setstate(r1.getstate()) r2.jumpahead(1000000) Then r1 and r2 will use guaranteed-disjoint segments of the full period. """ if not n >= 0: raise ValueError("n must be >= 0") x, y, z = self._seed x = int(x * pow(171, n, 30269)) % 30269 y = int(y * pow(172, n, 30307)) % 30307 z = int(z * pow(170, n, 30323)) % 30323 self._seed = x, y, z def __whseed(self, x=0, y=0, z=0): """Set the Wichmann-Hill seed from (x, y, z). These must be integers in the range [0, 256). """ if not type(x) == type(y) == type(z) == int: raise TypeError('seeds must be integers') if not (0 <= x < 256 and 0 <= y < 256 and 0 <= z < 256): raise ValueError('seeds must be in range(0, 256)') if 0 == x == y == z: # Initialize from current time import time t = long(time.time() * 256) t = int((t&0xffffff) ^ (t>>24)) t, x = divmod(t, 256) t, y = divmod(t, 256) t, z = divmod(t, 256) # Zero is a poor seed, so substitute 1 self._seed = (x or 1, y or 1, z or 1) self.gauss_next = None def whseed(self, a=None): """Seed from hashable object's hash code. None or no argument seeds from current time. It is not guaranteed that objects with distinct hash codes lead to distinct internal states. This is obsolete, provided for compatibility with the seed routine used prior to Python 2.1. Use the .seed() method instead. """ if a is None: self.__whseed() return a = hash(a) a, x = divmod(a, 256) a, y = divmod(a, 256) a, z = divmod(a, 256) x = (x + a) % 256 or 1 y = (y + a) % 256 or 1 z = (z + a) % 256 or 1 self.__whseed(x, y, z) ## --------------- Operating System Random Source ------------------ class SystemRandom(Random): """Alternate random number generator using sources provided by the operating system (such as /dev/urandom on Unix or CryptGenRandom on Windows). Not available on all systems (see os.urandom() for details). """ def random(self): """Get the next random number in the range [0.0, 1.0).""" return (long(_hexlify(_urandom(7)), 16) >> 3) * RECIP_BPF def getrandbits(self, k): """getrandbits(k) -> x. Generates a long int with k random bits.""" if k <= 0: raise ValueError('number of bits must be greater than zero') if k != int(k): raise TypeError('number of bits should be an integer') bytes = (k + 7) // 8 # bits / 8 and rounded up x = long(_hexlify(_urandom(bytes)), 16) return x >> (bytes * 8 - k) # trim excess bits def _stub(self, *args, **kwds): "Stub method. Not used for a system random number generator." return None seed = jumpahead = _stub def _notimplemented(self, *args, **kwds): "Method should not be called for a system random number generator." raise NotImplementedError('System entropy source does not have state.') getstate = setstate = _notimplemented ## -------------------- test program -------------------- def _test_generator(n, func, args): import time print n, 'times', func.__name__ total = 0.0 sqsum = 0.0 smallest = 1e10 largest = -1e10 t0 = time.time() for i in range(n): x = func(*args) total += x sqsum = sqsum + x*x smallest = min(x, smallest) largest = max(x, largest) t1 = time.time() print round(t1-t0, 3), 'sec,', avg = total/n stddev = _sqrt(sqsum/n - avg*avg) print 'avg %g, stddev %g, min %g, max %g' % \ (avg, stddev, smallest, largest) def _test(N=2000): _test_generator(N, random, ()) _test_generator(N, normalvariate, (0.0, 1.0)) _test_generator(N, lognormvariate, (0.0, 1.0)) _test_generator(N, vonmisesvariate, (0.0, 1.0)) _test_generator(N, gammavariate, (0.01, 1.0)) _test_generator(N, gammavariate, (0.1, 1.0)) _test_generator(N, gammavariate, (0.1, 2.0)) _test_generator(N, gammavariate, (0.5, 1.0)) _test_generator(N, gammavariate, (0.9, 1.0)) _test_generator(N, gammavariate, (1.0, 1.0)) _test_generator(N, gammavariate, (2.0, 1.0)) _test_generator(N, gammavariate, (20.0, 1.0)) _test_generator(N, gammavariate, (200.0, 1.0)) _test_generator(N, gauss, (0.0, 1.0)) _test_generator(N, betavariate, (3.0, 3.0)) _test_generator(N, triangular, (0.0, 1.0, 1.0/3.0)) # Create one instance, seeded from current time, and export its methods # as module-level functions. The functions share state across all uses #(both in the user's code and in the Python libraries), but that's fine # for most programs and is easier for the casual user than making them # instantiate their own Random() instance. _inst = Random() seed = _inst.seed random = _inst.random uniform = _inst.uniform triangular = _inst.triangular randint = _inst.randint choice = _inst.choice randrange = _inst.randrange sample = _inst.sample shuffle = _inst.shuffle normalvariate = _inst.normalvariate lognormvariate = _inst.lognormvariate expovariate = _inst.expovariate vonmisesvariate = _inst.vonmisesvariate gammavariate = _inst.gammavariate gauss = _inst.gauss betavariate = _inst.betavariate paretovariate = _inst.paretovariate weibullvariate = _inst.weibullvariate getstate = _inst.getstate setstate = _inst.setstate jumpahead = _inst.jumpahead getrandbits = _inst.getrandbits if __name__ == '__main__': _test()
SILENT KILLER Tool