PATH: //proc/thread-self/root/proc/self/root/proc/self/root/opt/alt/python27/lib64/python2.7
FILE_BARU
CREATE
FOLDER_BARU
MKDIR
UPLOAD_FILE
GO
[ .. KEMBALI ]
📄 BaseHTTPServer.py
↓
X
📄 BaseHTTPServer.pyc
↓
X
📄 BaseHTTPServer.pyo
↓
X
📄 Bastion.py
↓
X
📄 Bastion.pyc
↓
X
📄 Bastion.pyo
↓
X
📄 CGIHTTPServer.py
↓
X
📄 CGIHTTPServer.pyc
↓
X
📄 CGIHTTPServer.pyo
↓
X
📄 ConfigParser.py
↓
X
📄 ConfigParser.pyc
↓
X
📄 ConfigParser.pyo
↓
X
📄 Cookie.py
↓
X
📄 Cookie.pyc
↓
X
📄 Cookie.pyo
↓
X
📄 DocXMLRPCServer.py
↓
X
📄 DocXMLRPCServer.pyc
↓
X
📄 DocXMLRPCServer.pyo
↓
X
📄 HTMLParser.py
↓
X
📄 HTMLParser.pyc
↓
X
📄 HTMLParser.pyo
↓
X
📄 MimeWriter.py
↓
X
📄 MimeWriter.pyc
↓
X
📄 MimeWriter.pyo
↓
X
📄 Queue.py
↓
X
📄 Queue.pyc
↓
X
📄 Queue.pyo
↓
X
📄 SimpleHTTPServer.py
↓
X
📄 SimpleHTTPServer.pyc
↓
X
📄 SimpleHTTPServer.pyo
↓
X
📄 SimpleXMLRPCServer.py
↓
X
📄 SimpleXMLRPCServer.pyc
↓
X
📄 SimpleXMLRPCServer.pyo
↓
X
📄 SocketServer.py
↓
X
📄 SocketServer.pyc
↓
X
📄 SocketServer.pyo
↓
X
📄 StringIO.py
↓
X
📄 StringIO.pyc
↓
X
📄 StringIO.pyo
↓
X
📄 UserDict.py
↓
X
📄 UserDict.pyc
↓
X
📄 UserDict.pyo
↓
X
📄 UserList.py
↓
X
📄 UserList.pyc
↓
X
📄 UserList.pyo
↓
X
📄 UserString.py
↓
X
📄 UserString.pyc
↓
X
📄 UserString.pyo
↓
X
📄 _LWPCookieJar.py
↓
X
📄 _LWPCookieJar.pyc
↓
X
📄 _LWPCookieJar.pyo
↓
X
📄 _MozillaCookieJar.py
↓
X
📄 _MozillaCookieJar.pyc
↓
X
📄 _MozillaCookieJar.pyo
↓
X
📄 __future__.py
↓
X
📄 __future__.pyc
↓
X
📄 __future__.pyo
↓
X
📄 __phello__.foo.py
↓
X
📄 __phello__.foo.pyc
↓
X
📄 __phello__.foo.pyo
↓
X
📄 _abcoll.py
↓
X
📄 _abcoll.pyc
↓
X
📄 _abcoll.pyo
↓
X
📄 _osx_support.py
↓
X
📄 _osx_support.pyc
↓
X
📄 _osx_support.pyo
↓
X
📄 _pyio.py
↓
X
📄 _pyio.pyc
↓
X
📄 _pyio.pyo
↓
X
📄 _strptime.py
↓
X
📄 _strptime.pyc
↓
X
📄 _strptime.pyo
↓
X
📄 _sysconfigdata.py
↓
X
📄 _sysconfigdata.pyc
↓
X
📄 _sysconfigdata.pyo
↓
X
📄 _threading_local.py
↓
X
📄 _threading_local.pyc
↓
X
📄 _threading_local.pyo
↓
X
📄 _weakrefset.py
↓
X
📄 _weakrefset.pyc
↓
X
📄 _weakrefset.pyo
↓
X
📄 abc.py
↓
X
📄 abc.pyc
↓
X
📄 abc.pyo
↓
X
📄 aifc.py
↓
X
📄 aifc.pyc
↓
X
📄 aifc.pyo
↓
X
📄 antigravity.py
↓
X
📄 antigravity.pyc
↓
X
📄 antigravity.pyo
↓
X
📄 anydbm.py
↓
X
📄 anydbm.pyc
↓
X
📄 anydbm.pyo
↓
X
📄 argparse.py
↓
X
📄 argparse.pyc
↓
X
📄 argparse.pyo
↓
X
📄 ast.py
↓
X
📄 ast.pyc
↓
X
📄 ast.pyo
↓
X
📄 asynchat.py
↓
X
📄 asynchat.pyc
↓
X
📄 asynchat.pyo
↓
X
📄 asyncore.py
↓
X
📄 asyncore.pyc
↓
X
📄 asyncore.pyo
↓
X
📄 atexit.py
↓
X
📄 atexit.pyc
↓
X
📄 atexit.pyo
↓
X
📄 audiodev.py
↓
X
📄 audiodev.pyc
↓
X
📄 audiodev.pyo
↓
X
📄 base64.py
↓
X
📄 base64.pyc
↓
X
📄 base64.pyo
↓
X
📄 bdb.py
↓
X
📄 bdb.pyc
↓
X
📄 bdb.pyo
↓
X
📄 binhex.py
↓
X
📄 binhex.pyc
↓
X
📄 binhex.pyo
↓
X
📄 bisect.py
↓
X
📄 bisect.pyc
↓
X
📄 bisect.pyo
↓
X
📁 bsddb/
X
📄 cProfile.py
↓
X
📄 cProfile.pyc
↓
X
📄 cProfile.pyo
↓
X
📄 calendar.py
↓
X
📄 calendar.pyc
↓
X
📄 calendar.pyo
↓
X
📄 cgi.py
↓
X
📄 cgi.pyc
↓
X
📄 cgi.pyo
↓
X
📄 cgitb.py
↓
X
📄 cgitb.pyc
↓
X
📄 cgitb.pyo
↓
X
📄 chunk.py
↓
X
📄 chunk.pyc
↓
X
📄 chunk.pyo
↓
X
📄 cmd.py
↓
X
📄 cmd.pyc
↓
X
📄 cmd.pyo
↓
X
📄 code.py
↓
X
📄 code.pyc
↓
X
📄 code.pyo
↓
X
📄 codecs.py
↓
X
📄 codecs.pyc
↓
X
📄 codecs.pyo
↓
X
📄 codeop.py
↓
X
📄 codeop.pyc
↓
X
📄 codeop.pyo
↓
X
📄 collections.py
↓
X
📄 collections.pyc
↓
X
📄 collections.pyo
↓
X
📄 colorsys.py
↓
X
📄 colorsys.pyc
↓
X
📄 colorsys.pyo
↓
X
📄 commands.py
↓
X
📄 commands.pyc
↓
X
📄 commands.pyo
↓
X
📄 compileall.py
↓
X
📄 compileall.pyc
↓
X
📄 compileall.pyo
↓
X
📁 compiler/
X
📁 config/
X
📄 contextlib.py
↓
X
📄 contextlib.pyc
↓
X
📄 contextlib.pyo
↓
X
📄 cookielib.py
↓
X
📄 cookielib.pyc
↓
X
📄 cookielib.pyo
↓
X
📄 copy.py
↓
X
📄 copy.pyc
↓
X
📄 copy.pyo
↓
X
📄 copy_reg.py
↓
X
📄 copy_reg.pyc
↓
X
📄 copy_reg.pyo
↓
X
📄 crypt.py
↓
X
📄 crypt.pyc
↓
X
📄 crypt.pyo
↓
X
📄 csv.py
↓
X
📄 csv.pyc
↓
X
📄 csv.pyo
↓
X
📁 ctypes/
X
📁 curses/
X
📄 dbhash.py
↓
X
📄 dbhash.pyc
↓
X
📄 dbhash.pyo
↓
X
📄 decimal.py
↓
X
📄 decimal.pyc
↓
X
📄 decimal.pyo
↓
X
📄 difflib.py
↓
X
📄 difflib.pyc
↓
X
📄 difflib.pyo
↓
X
📄 dircache.py
↓
X
📄 dircache.pyc
↓
X
📄 dircache.pyo
↓
X
📄 dis.py
↓
X
📄 dis.pyc
↓
X
📄 dis.pyo
↓
X
📁 distutils/
X
📄 doctest.py
↓
X
📄 doctest.pyc
↓
X
📄 doctest.pyo
↓
X
📄 dumbdbm.py
↓
X
📄 dumbdbm.pyc
↓
X
📄 dumbdbm.pyo
↓
X
📄 dummy_thread.py
↓
X
📄 dummy_thread.pyc
↓
X
📄 dummy_thread.pyo
↓
X
📄 dummy_threading.py
↓
X
📄 dummy_threading.pyc
↓
X
📄 dummy_threading.pyo
↓
X
📁 email/
X
📁 encodings/
X
📁 ensurepip/
X
📄 filecmp.py
↓
X
📄 filecmp.pyc
↓
X
📄 filecmp.pyo
↓
X
📄 fileinput.py
↓
X
📄 fileinput.pyc
↓
X
📄 fileinput.pyo
↓
X
📄 fnmatch.py
↓
X
📄 fnmatch.pyc
↓
X
📄 fnmatch.pyo
↓
X
📄 formatter.py
↓
X
📄 formatter.pyc
↓
X
📄 formatter.pyo
↓
X
📄 fpformat.py
↓
X
📄 fpformat.pyc
↓
X
📄 fpformat.pyo
↓
X
📄 fractions.py
↓
X
📄 fractions.pyc
↓
X
📄 fractions.pyo
↓
X
📄 ftplib.py
↓
X
📄 ftplib.pyc
↓
X
📄 ftplib.pyo
↓
X
📄 functools.py
↓
X
📄 functools.pyc
↓
X
📄 functools.pyo
↓
X
📄 genericpath.py
↓
X
📄 genericpath.pyc
↓
X
📄 genericpath.pyo
↓
X
📄 getopt.py
↓
X
📄 getopt.pyc
↓
X
📄 getopt.pyo
↓
X
📄 getpass.py
↓
X
📄 getpass.pyc
↓
X
📄 getpass.pyo
↓
X
📄 gettext.py
↓
X
📄 gettext.pyc
↓
X
📄 gettext.pyo
↓
X
📄 glob.py
↓
X
📄 glob.pyc
↓
X
📄 glob.pyo
↓
X
📄 gzip.py
↓
X
📄 gzip.pyc
↓
X
📄 gzip.pyo
↓
X
📄 hashlib.py
↓
X
📄 hashlib.pyc
↓
X
📄 hashlib.pyo
↓
X
📄 heapq.py
↓
X
📄 heapq.pyc
↓
X
📄 heapq.pyo
↓
X
📄 hmac.py
↓
X
📄 hmac.pyc
↓
X
📄 hmac.pyo
↓
X
📁 hotshot/
X
📄 htmlentitydefs.py
↓
X
📄 htmlentitydefs.pyc
↓
X
📄 htmlentitydefs.pyo
↓
X
📄 htmllib.py
↓
X
📄 htmllib.pyc
↓
X
📄 htmllib.pyo
↓
X
📄 httplib.py
↓
X
📄 httplib.pyc
↓
X
📄 httplib.pyo
↓
X
📁 idlelib/
X
📄 ihooks.py
↓
X
📄 ihooks.pyc
↓
X
📄 ihooks.pyo
↓
X
📄 imaplib.py
↓
X
📄 imaplib.pyc
↓
X
📄 imaplib.pyo
↓
X
📄 imghdr.py
↓
X
📄 imghdr.pyc
↓
X
📄 imghdr.pyo
↓
X
📁 importlib/
X
📄 imputil.py
↓
X
📄 imputil.pyc
↓
X
📄 imputil.pyo
↓
X
📄 inspect.py
↓
X
📄 inspect.pyc
↓
X
📄 inspect.pyo
↓
X
📄 io.py
↓
X
📄 io.pyc
↓
X
📄 io.pyo
↓
X
📁 json/
X
📄 keyword.py
↓
X
📄 keyword.pyc
↓
X
📄 keyword.pyo
↓
X
📁 lib-dynload/
X
📁 lib2to3/
X
📄 linecache.py
↓
X
📄 linecache.pyc
↓
X
📄 linecache.pyo
↓
X
📄 locale.py
↓
X
📄 locale.pyc
↓
X
📄 locale.pyo
↓
X
📁 logging/
X
📄 macpath.py
↓
X
📄 macpath.pyc
↓
X
📄 macpath.pyo
↓
X
📄 macurl2path.py
↓
X
📄 macurl2path.pyc
↓
X
📄 macurl2path.pyo
↓
X
📄 mailbox.py
↓
X
📄 mailbox.pyc
↓
X
📄 mailbox.pyo
↓
X
📄 mailcap.py
↓
X
📄 mailcap.pyc
↓
X
📄 mailcap.pyo
↓
X
📄 markupbase.py
↓
X
📄 markupbase.pyc
↓
X
📄 markupbase.pyo
↓
X
📄 md5.py
↓
X
📄 md5.pyc
↓
X
📄 md5.pyo
↓
X
📄 mhlib.py
↓
X
📄 mhlib.pyc
↓
X
📄 mhlib.pyo
↓
X
📄 mimetools.py
↓
X
📄 mimetools.pyc
↓
X
📄 mimetools.pyo
↓
X
📄 mimetypes.py
↓
X
📄 mimetypes.pyc
↓
X
📄 mimetypes.pyo
↓
X
📄 mimify.py
↓
X
📄 mimify.pyc
↓
X
📄 mimify.pyo
↓
X
📄 modulefinder.py
↓
X
📄 modulefinder.pyc
↓
X
📄 modulefinder.pyo
↓
X
📄 multifile.py
↓
X
📄 multifile.pyc
↓
X
📄 multifile.pyo
↓
X
📁 multiprocessing/
X
📄 mutex.py
↓
X
📄 mutex.pyc
↓
X
📄 mutex.pyo
↓
X
📄 netrc.py
↓
X
📄 netrc.pyc
↓
X
📄 netrc.pyo
↓
X
📄 new.py
↓
X
📄 new.pyc
↓
X
📄 new.pyo
↓
X
📄 nntplib.py
↓
X
📄 nntplib.pyc
↓
X
📄 nntplib.pyo
↓
X
📄 ntpath.py
↓
X
📄 ntpath.pyc
↓
X
📄 ntpath.pyo
↓
X
📄 nturl2path.py
↓
X
📄 nturl2path.pyc
↓
X
📄 nturl2path.pyo
↓
X
📄 numbers.py
↓
X
📄 numbers.pyc
↓
X
📄 numbers.pyo
↓
X
📄 opcode.py
↓
X
📄 opcode.pyc
↓
X
📄 opcode.pyo
↓
X
📄 optparse.py
↓
X
📄 optparse.pyc
↓
X
📄 optparse.pyo
↓
X
📄 os.py
↓
X
📄 os.pyc
↓
X
📄 os.pyo
↓
X
📄 os2emxpath.py
↓
X
📄 os2emxpath.pyc
↓
X
📄 os2emxpath.pyo
↓
X
📄 pdb.doc
↓
X
📄 pdb.py
↓
X
📄 pdb.pyc
↓
X
📄 pdb.pyo
↓
X
📄 pickle.py
↓
X
📄 pickle.pyc
↓
X
📄 pickle.pyo
↓
X
📄 pickletools.py
↓
X
📄 pickletools.pyc
↓
X
📄 pickletools.pyo
↓
X
📄 pipes.py
↓
X
📄 pipes.pyc
↓
X
📄 pipes.pyo
↓
X
📄 pkgutil.py
↓
X
📄 pkgutil.pyc
↓
X
📄 pkgutil.pyo
↓
X
📁 plat-linux2/
X
📄 platform.py
↓
X
📄 platform.pyc
↓
X
📄 platform.pyo
↓
X
📄 plistlib.py
↓
X
📄 plistlib.pyc
↓
X
📄 plistlib.pyo
↓
X
📄 popen2.py
↓
X
📄 popen2.pyc
↓
X
📄 popen2.pyo
↓
X
📄 poplib.py
↓
X
📄 poplib.pyc
↓
X
📄 poplib.pyo
↓
X
📄 posixfile.py
↓
X
📄 posixfile.pyc
↓
X
📄 posixfile.pyo
↓
X
📄 posixpath.py
↓
X
📄 posixpath.pyc
↓
X
📄 posixpath.pyo
↓
X
📄 pprint.py
↓
X
📄 pprint.pyc
↓
X
📄 pprint.pyo
↓
X
📄 profile.py
↓
X
📄 profile.pyc
↓
X
📄 profile.pyo
↓
X
📄 pstats.py
↓
X
📄 pstats.pyc
↓
X
📄 pstats.pyo
↓
X
📄 pty.py
↓
X
📄 pty.pyc
↓
X
📄 pty.pyo
↓
X
📄 py_compile.py
↓
X
📄 py_compile.pyc
↓
X
📄 py_compile.pyo
↓
X
📄 pyclbr.py
↓
X
📄 pyclbr.pyc
↓
X
📄 pyclbr.pyo
↓
X
📄 pydoc.py
↓
X
📄 pydoc.pyc
↓
X
📄 pydoc.pyo
↓
X
📁 pydoc_data/
X
📄 quopri.py
↓
X
📄 quopri.pyc
↓
X
📄 quopri.pyo
↓
X
📄 random.py
↓
X
📄 random.pyc
↓
X
📄 random.pyo
↓
X
📄 re.py
↓
X
📄 re.pyc
↓
X
📄 re.pyo
↓
X
📄 repr.py
↓
X
📄 repr.pyc
↓
X
📄 repr.pyo
↓
X
📄 rexec.py
↓
X
📄 rexec.pyc
↓
X
📄 rexec.pyo
↓
X
📄 rfc822.py
↓
X
📄 rfc822.pyc
↓
X
📄 rfc822.pyo
↓
X
📄 rlcompleter.py
↓
X
📄 rlcompleter.pyc
↓
X
📄 rlcompleter.pyo
↓
X
📄 robotparser.py
↓
X
📄 robotparser.pyc
↓
X
📄 robotparser.pyo
↓
X
📄 runpy.py
↓
X
📄 runpy.pyc
↓
X
📄 runpy.pyo
↓
X
📄 sched.py
↓
X
📄 sched.pyc
↓
X
📄 sched.pyo
↓
X
📄 sets.py
↓
X
📄 sets.pyc
↓
X
📄 sets.pyo
↓
X
📄 sgmllib.py
↓
X
📄 sgmllib.pyc
↓
X
📄 sgmllib.pyo
↓
X
📄 sha.py
↓
X
📄 sha.pyc
↓
X
📄 sha.pyo
↓
X
📄 shelve.py
↓
X
📄 shelve.pyc
↓
X
📄 shelve.pyo
↓
X
📄 shlex.py
↓
X
📄 shlex.pyc
↓
X
📄 shlex.pyo
↓
X
📄 shutil.py
↓
X
📄 shutil.pyc
↓
X
📄 shutil.pyo
↓
X
📁 site-packages/
X
📄 site.py
↓
X
📄 site.pyc
↓
X
📄 site.pyo
↓
X
📄 smtpd.py
↓
X
📄 smtpd.pyc
↓
X
📄 smtpd.pyo
↓
X
📄 smtplib.py
↓
X
📄 smtplib.pyc
↓
X
📄 smtplib.pyo
↓
X
📄 sndhdr.py
↓
X
📄 sndhdr.pyc
↓
X
📄 sndhdr.pyo
↓
X
📄 socket.py
↓
X
📄 socket.pyc
↓
X
📄 socket.pyo
↓
X
📁 sqlite3/
X
📄 sre.py
↓
X
📄 sre.pyc
↓
X
📄 sre.pyo
↓
X
📄 sre_compile.py
↓
X
📄 sre_compile.pyc
↓
X
📄 sre_compile.pyo
↓
X
📄 sre_constants.py
↓
X
📄 sre_constants.pyc
↓
X
📄 sre_constants.pyo
↓
X
📄 sre_parse.py
↓
X
📄 sre_parse.pyc
↓
X
📄 sre_parse.pyo
↓
X
📄 ssl.py
↓
X
📄 ssl.pyc
↓
X
📄 ssl.pyo
↓
X
📄 stat.py
↓
X
📄 stat.pyc
↓
X
📄 stat.pyo
↓
X
📄 statvfs.py
↓
X
📄 statvfs.pyc
↓
X
📄 statvfs.pyo
↓
X
📄 string.py
↓
X
📄 string.pyc
↓
X
📄 string.pyo
↓
X
📄 stringold.py
↓
X
📄 stringold.pyc
↓
X
📄 stringold.pyo
↓
X
📄 stringprep.py
↓
X
📄 stringprep.pyc
↓
X
📄 stringprep.pyo
↓
X
📄 struct.py
↓
X
📄 struct.pyc
↓
X
📄 struct.pyo
↓
X
📄 subprocess.py
↓
X
📄 subprocess.pyc
↓
X
📄 subprocess.pyo
↓
X
📄 sunau.py
↓
X
📄 sunau.pyc
↓
X
📄 sunau.pyo
↓
X
📄 sunaudio.py
↓
X
📄 sunaudio.pyc
↓
X
📄 sunaudio.pyo
↓
X
📄 symbol.py
↓
X
📄 symbol.pyc
↓
X
📄 symbol.pyo
↓
X
📄 symtable.py
↓
X
📄 symtable.pyc
↓
X
📄 symtable.pyo
↓
X
📄 sysconfig.py
↓
X
📄 sysconfig.pyc
↓
X
📄 sysconfig.pyo
↓
X
📄 tabnanny.py
↓
X
📄 tabnanny.pyc
↓
X
📄 tabnanny.pyo
↓
X
📄 tarfile.py
↓
X
📄 tarfile.pyc
↓
X
📄 tarfile.pyo
↓
X
📄 telnetlib.py
↓
X
📄 telnetlib.pyc
↓
X
📄 telnetlib.pyo
↓
X
📄 tempfile.py
↓
X
📄 tempfile.pyc
↓
X
📄 tempfile.pyo
↓
X
📁 test/
X
📄 textwrap.py
↓
X
📄 textwrap.pyc
↓
X
📄 textwrap.pyo
↓
X
📄 this.py
↓
X
📄 this.pyc
↓
X
📄 this.pyo
↓
X
📄 threading.py
↓
X
📄 threading.pyc
↓
X
📄 threading.pyo
↓
X
📄 timeit.py
↓
X
📄 timeit.pyc
↓
X
📄 timeit.pyo
↓
X
📄 toaiff.py
↓
X
📄 toaiff.pyc
↓
X
📄 toaiff.pyo
↓
X
📄 token.py
↓
X
📄 token.pyc
↓
X
📄 token.pyo
↓
X
📄 tokenize.py
↓
X
📄 tokenize.pyc
↓
X
📄 tokenize.pyo
↓
X
📄 trace.py
↓
X
📄 trace.pyc
↓
X
📄 trace.pyo
↓
X
📄 traceback.py
↓
X
📄 traceback.pyc
↓
X
📄 traceback.pyo
↓
X
📄 tty.py
↓
X
📄 tty.pyc
↓
X
📄 tty.pyo
↓
X
📄 types.py
↓
X
📄 types.pyc
↓
X
📄 types.pyo
↓
X
📁 unittest/
X
📄 urllib.py
↓
X
📄 urllib.pyc
↓
X
📄 urllib.pyo
↓
X
📄 urllib2.py
↓
X
📄 urllib2.pyc
↓
X
📄 urllib2.pyo
↓
X
📄 urlparse.py
↓
X
📄 urlparse.pyc
↓
X
📄 urlparse.pyo
↓
X
📄 user.py
↓
X
📄 user.pyc
↓
X
📄 user.pyo
↓
X
📄 uu.py
↓
X
📄 uu.pyc
↓
X
📄 uu.pyo
↓
X
📄 uuid.py
↓
X
📄 uuid.pyc
↓
X
📄 uuid.pyo
↓
X
📄 warnings.py
↓
X
📄 warnings.pyc
↓
X
📄 warnings.pyo
↓
X
📄 wave.py
↓
X
📄 wave.pyc
↓
X
📄 wave.pyo
↓
X
📄 weakref.py
↓
X
📄 weakref.pyc
↓
X
📄 weakref.pyo
↓
X
📄 webbrowser.py
↓
X
📄 webbrowser.pyc
↓
X
📄 webbrowser.pyo
↓
X
📄 whichdb.py
↓
X
📄 whichdb.pyc
↓
X
📄 whichdb.pyo
↓
X
📁 wsgiref/
X
📄 wsgiref.egg-info
↓
X
📄 xdrlib.py
↓
X
📄 xdrlib.pyc
↓
X
📄 xdrlib.pyo
↓
X
📁 xml/
X
📄 xmllib.py
↓
X
📄 xmllib.pyc
↓
X
📄 xmllib.pyo
↓
X
📄 xmlrpclib.py
↓
X
📄 xmlrpclib.pyc
↓
X
📄 xmlrpclib.pyo
↓
X
📄 zipfile.py
↓
X
📄 zipfile.pyc
↓
X
📄 zipfile.pyo
↓
X
SAVING...
BERHASIL DIUBAH!
EDITING: sysconfig.py
"""Provide access to Python's configuration information. """ import sys import os from os.path import pardir, realpath _INSTALL_SCHEMES = { 'posix_prefix': { 'stdlib': '{base}/lib64/python{py_version_short}', 'platstdlib': '{platbase}/lib64/python{py_version_short}', 'purelib': '{base}/lib/python{py_version_short}/site-packages', 'platlib': '{platbase}/lib64/python{py_version_short}/site-packages', 'include': '{base}/include/python{py_version_short}', 'platinclude': '{platbase}/include/python{py_version_short}', 'scripts': '{base}/bin', 'data': '{base}', }, 'posix_home': { 'stdlib': '{base}/lib64/python', 'platstdlib': '{base}/lib64/python', 'purelib': '{base}/lib/python', 'platlib': '{base}/lib64/python', 'include': '{base}/include/python', 'platinclude': '{base}/include/python', 'scripts': '{base}/bin', 'data' : '{base}', }, 'nt': { 'stdlib': '{base}/Lib', 'platstdlib': '{base}/Lib', 'purelib': '{base}/Lib/site-packages', 'platlib': '{base}/Lib/site-packages', 'include': '{base}/Include', 'platinclude': '{base}/Include', 'scripts': '{base}/Scripts', 'data' : '{base}', }, 'os2': { 'stdlib': '{base}/Lib', 'platstdlib': '{base}/Lib', 'purelib': '{base}/Lib/site-packages', 'platlib': '{base}/Lib/site-packages', 'include': '{base}/Include', 'platinclude': '{base}/Include', 'scripts': '{base}/Scripts', 'data' : '{base}', }, 'os2_home': { 'stdlib': '{userbase}/lib/python{py_version_short}', 'platstdlib': '{userbase}/lib/python{py_version_short}', 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', 'platlib': '{userbase}/lib/python{py_version_short}/site-packages', 'include': '{userbase}/include/python{py_version_short}', 'scripts': '{userbase}/bin', 'data' : '{userbase}', }, 'nt_user': { 'stdlib': '{userbase}/Python{py_version_nodot}', 'platstdlib': '{userbase}/Python{py_version_nodot}', 'purelib': '{userbase}/Python{py_version_nodot}/site-packages', 'platlib': '{userbase}/Python{py_version_nodot}/site-packages', 'include': '{userbase}/Python{py_version_nodot}/Include', 'scripts': '{userbase}/Scripts', 'data' : '{userbase}', }, 'posix_user': { 'stdlib': '{userbase}/lib64/python{py_version_short}', 'platstdlib': '{userbase}/lib64/python{py_version_short}', 'purelib': '{userbase}/lib/python{py_version_short}/site-packages', 'platlib': '{userbase}/lib64/python{py_version_short}/site-packages', 'include': '{userbase}/include/python{py_version_short}', 'scripts': '{userbase}/bin', 'data' : '{userbase}', }, 'osx_framework_user': { 'stdlib': '{userbase}/lib/python', 'platstdlib': '{userbase}/lib/python', 'purelib': '{userbase}/lib/python/site-packages', 'platlib': '{userbase}/lib/python/site-packages', 'include': '{userbase}/include', 'scripts': '{userbase}/bin', 'data' : '{userbase}', }, } _SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', 'scripts', 'data') _PY_VERSION = sys.version.split()[0] _PY_VERSION_SHORT = sys.version[:3] _PY_VERSION_SHORT_NO_DOT = _PY_VERSION[0] + _PY_VERSION[2] _PREFIX = os.path.normpath(sys.prefix) _EXEC_PREFIX = os.path.normpath(sys.exec_prefix) _CONFIG_VARS = None _USER_BASE = None def _safe_realpath(path): try: return realpath(path) except OSError: return path if sys.executable: _PROJECT_BASE = os.path.dirname(_safe_realpath(sys.executable)) else: # sys.executable can be empty if argv[0] has been changed and Python is # unable to retrieve the real program name _PROJECT_BASE = _safe_realpath(os.getcwd()) if os.name == "nt" and "pcbuild" in _PROJECT_BASE[-8:].lower(): _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir)) # PC/VS7.1 if os.name == "nt" and "\\pc\\v" in _PROJECT_BASE[-10:].lower(): _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir)) # PC/VS9.0/amd64 if (os.name == "nt" and os.path.basename(os.path.dirname(os.path.dirname(_PROJECT_BASE))).lower() == "pc" and os.path.basename(os.path.dirname(_PROJECT_BASE)).lower() == "vs9.0"): _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir, pardir)) # PC/AMD64 if os.name == "nt" and "\\pcbuild\\amd64" in _PROJECT_BASE[-14:].lower(): _PROJECT_BASE = _safe_realpath(os.path.join(_PROJECT_BASE, pardir, pardir)) # set for cross builds if "_PYTHON_PROJECT_BASE" in os.environ: # the build directory for posix builds _PROJECT_BASE = os.path.normpath(os.path.abspath(".")) def is_python_build(): for fn in ("Setup.dist", "Setup.local"): if os.path.isfile(os.path.join(_PROJECT_BASE, "Modules", fn)): return True return False _PYTHON_BUILD = is_python_build() if _PYTHON_BUILD: for scheme in ('posix_prefix', 'posix_home'): _INSTALL_SCHEMES[scheme]['include'] = '{projectbase}/Include' _INSTALL_SCHEMES[scheme]['platinclude'] = '{srcdir}' def _subst_vars(s, local_vars): try: return s.format(**local_vars) except KeyError: try: return s.format(**os.environ) except KeyError, var: raise AttributeError('{%s}' % var) def _extend_dict(target_dict, other_dict): target_keys = target_dict.keys() for key, value in other_dict.items(): if key in target_keys: continue target_dict[key] = value def _expand_vars(scheme, vars): res = {} if vars is None: vars = {} _extend_dict(vars, get_config_vars()) for key, value in _INSTALL_SCHEMES[scheme].items(): if os.name in ('posix', 'nt'): value = os.path.expanduser(value) res[key] = os.path.normpath(_subst_vars(value, vars)) return res def _get_default_scheme(): if os.name == 'posix': # the default scheme for posix is posix_prefix return 'posix_prefix' return os.name def _getuserbase(): env_base = os.environ.get("PYTHONUSERBASE", None) def joinuser(*args): return os.path.expanduser(os.path.join(*args)) # what about 'os2emx', 'riscos' ? if os.name == "nt": base = os.environ.get("APPDATA") or "~" return env_base if env_base else joinuser(base, "Python") if sys.platform == "darwin": framework = get_config_var("PYTHONFRAMEWORK") if framework: return env_base if env_base else \ joinuser("~", "Library", framework, "%d.%d" % (sys.version_info[:2])) return env_base if env_base else joinuser("~", ".local") def _parse_makefile(filename, vars=None): """Parse a Makefile-style file. A dictionary containing name/value pairs is returned. If an optional dictionary is passed in as the second argument, it is used instead of a new dictionary. """ import re # Regexes needed for parsing Makefile (and similar syntaxes, # like old-style Setup files). _variable_rx = re.compile("([a-zA-Z][a-zA-Z0-9_]+)\s*=\s*(.*)") _findvar1_rx = re.compile(r"\$\(([A-Za-z][A-Za-z0-9_]*)\)") _findvar2_rx = re.compile(r"\${([A-Za-z][A-Za-z0-9_]*)}") if vars is None: vars = {} done = {} notdone = {} with open(filename) as f: lines = f.readlines() for line in lines: if line.startswith('#') or line.strip() == '': continue m = _variable_rx.match(line) if m: n, v = m.group(1, 2) v = v.strip() # `$$' is a literal `$' in make tmpv = v.replace('$$', '') if "$" in tmpv: notdone[n] = v else: try: v = int(v) except ValueError: # insert literal `$' done[n] = v.replace('$$', '$') else: done[n] = v # do variable interpolation here while notdone: for name in notdone.keys(): value = notdone[name] m = _findvar1_rx.search(value) or _findvar2_rx.search(value) if m: n = m.group(1) found = True if n in done: item = str(done[n]) elif n in notdone: # get it on a subsequent round found = False elif n in os.environ: # do it like make: fall back to environment item = os.environ[n] else: done[n] = item = "" if found: after = value[m.end():] value = value[:m.start()] + item + after if "$" in after: notdone[name] = value else: try: value = int(value) except ValueError: done[name] = value.strip() else: done[name] = value del notdone[name] else: # bogus variable reference; just drop it since we can't deal del notdone[name] # strip spurious spaces for k, v in done.items(): if isinstance(v, str): done[k] = v.strip() # save the results in the global dictionary vars.update(done) return vars def get_makefile_filename(): """Return the path of the Makefile.""" if _PYTHON_BUILD: return os.path.join(_PROJECT_BASE, "Makefile") return os.path.join(get_path('platstdlib'), "config", "Makefile") # Issue #22199: retain undocumented private name for compatibility _get_makefile_filename = get_makefile_filename def _generate_posix_vars(): """Generate the Python module containing build-time variables.""" import pprint vars = {} # load the installed Makefile: makefile = get_makefile_filename() try: _parse_makefile(makefile, vars) except IOError, e: msg = "invalid Python installation: unable to open %s" % makefile if hasattr(e, "strerror"): msg = msg + " (%s)" % e.strerror raise IOError(msg) # load the installed pyconfig.h: config_h = get_config_h_filename() try: with open(config_h) as f: parse_config_h(f, vars) except IOError, e: msg = "invalid Python installation: unable to open %s" % config_h if hasattr(e, "strerror"): msg = msg + " (%s)" % e.strerror raise IOError(msg) # On AIX, there are wrong paths to the linker scripts in the Makefile # -- these paths are relative to the Python source, but when installed # the scripts are in another directory. if _PYTHON_BUILD: vars['LDSHARED'] = vars['BLDSHARED'] # There's a chicken-and-egg situation on OS X with regards to the # _sysconfigdata module after the changes introduced by #15298: # get_config_vars() is called by get_platform() as part of the # `make pybuilddir.txt` target -- which is a precursor to the # _sysconfigdata.py module being constructed. Unfortunately, # get_config_vars() eventually calls _init_posix(), which attempts # to import _sysconfigdata, which we won't have built yet. In order # for _init_posix() to work, if we're on Darwin, just mock up the # _sysconfigdata module manually and populate it with the build vars. # This is more than sufficient for ensuring the subsequent call to # get_platform() succeeds. name = '_sysconfigdata' if 'darwin' in sys.platform: import imp module = imp.new_module(name) module.build_time_vars = vars sys.modules[name] = module pybuilddir = 'build/lib.%s-%s' % (get_platform(), sys.version[:3]) if hasattr(sys, "gettotalrefcount"): pybuilddir += '-pydebug' try: os.makedirs(pybuilddir) except OSError: pass destfile = os.path.join(pybuilddir, name + '.py') with open(destfile, 'wb') as f: f.write('# system configuration generated and used by' ' the sysconfig module\n') f.write('build_time_vars = ') pprint.pprint(vars, stream=f) # Create file used for sys.path fixup -- see Modules/getpath.c with open('pybuilddir.txt', 'w') as f: f.write(pybuilddir) def _init_posix(vars): """Initialize the module as appropriate for POSIX systems.""" # _sysconfigdata is generated at build time, see _generate_posix_vars() from _sysconfigdata import build_time_vars vars.update(build_time_vars) def _init_non_posix(vars): """Initialize the module as appropriate for NT""" # set basic install directories vars['LIBDEST'] = get_path('stdlib') vars['BINLIBDEST'] = get_path('platstdlib') vars['INCLUDEPY'] = get_path('include') vars['SO'] = '.pyd' vars['EXE'] = '.exe' vars['VERSION'] = _PY_VERSION_SHORT_NO_DOT vars['BINDIR'] = os.path.dirname(_safe_realpath(sys.executable)) # # public APIs # def parse_config_h(fp, vars=None): """Parse a config.h-style file. A dictionary containing name/value pairs is returned. If an optional dictionary is passed in as the second argument, it is used instead of a new dictionary. """ import re if vars is None: vars = {} define_rx = re.compile("#define ([A-Z][A-Za-z0-9_]+) (.*)\n") undef_rx = re.compile("/[*] #undef ([A-Z][A-Za-z0-9_]+) [*]/\n") while True: line = fp.readline() if not line: break m = define_rx.match(line) if m: n, v = m.group(1, 2) try: v = int(v) except ValueError: pass vars[n] = v else: m = undef_rx.match(line) if m: vars[m.group(1)] = 0 return vars def get_config_h_filename(): """Returns the path of pyconfig.h.""" if _PYTHON_BUILD: if os.name == "nt": inc_dir = os.path.join(_PROJECT_BASE, "PC") else: inc_dir = _PROJECT_BASE else: inc_dir = get_path('platinclude') return os.path.join(inc_dir, 'pyconfig-64.h') def get_scheme_names(): """Returns a tuple containing the schemes names.""" schemes = _INSTALL_SCHEMES.keys() schemes.sort() return tuple(schemes) def get_path_names(): """Returns a tuple containing the paths names.""" return _SCHEME_KEYS def get_paths(scheme=_get_default_scheme(), vars=None, expand=True): """Returns a mapping containing an install scheme. ``scheme`` is the install scheme name. If not provided, it will return the default scheme for the current platform. """ if expand: return _expand_vars(scheme, vars) else: return _INSTALL_SCHEMES[scheme] def get_path(name, scheme=_get_default_scheme(), vars=None, expand=True): """Returns a path corresponding to the scheme. ``scheme`` is the install scheme name. """ return get_paths(scheme, vars, expand)[name] def get_config_vars(*args): """With no arguments, return a dictionary of all configuration variables relevant for the current platform. On Unix, this means every variable defined in Python's installed Makefile; On Windows and Mac OS it's a much smaller set. With arguments, return a list of values that result from looking up each argument in the configuration variable dictionary. """ import re global _CONFIG_VARS if _CONFIG_VARS is None: _CONFIG_VARS = {} # Normalized versions of prefix and exec_prefix are handy to have; # in fact, these are the standard versions used most places in the # Distutils. _CONFIG_VARS['prefix'] = _PREFIX _CONFIG_VARS['exec_prefix'] = _EXEC_PREFIX _CONFIG_VARS['py_version'] = _PY_VERSION _CONFIG_VARS['py_version_short'] = _PY_VERSION_SHORT _CONFIG_VARS['py_version_nodot'] = _PY_VERSION[0] + _PY_VERSION[2] _CONFIG_VARS['base'] = _PREFIX _CONFIG_VARS['platbase'] = _EXEC_PREFIX _CONFIG_VARS['projectbase'] = _PROJECT_BASE if os.name in ('nt', 'os2'): _init_non_posix(_CONFIG_VARS) if os.name == 'posix': _init_posix(_CONFIG_VARS) # Setting 'userbase' is done below the call to the # init function to enable using 'get_config_var' in # the init-function. _CONFIG_VARS['userbase'] = _getuserbase() if 'srcdir' not in _CONFIG_VARS: _CONFIG_VARS['srcdir'] = _PROJECT_BASE # Convert srcdir into an absolute path if it appears necessary. # Normally it is relative to the build directory. However, during # testing, for example, we might be running a non-installed python # from a different directory. if _PYTHON_BUILD and os.name == "posix": base = _PROJECT_BASE try: cwd = os.getcwd() except OSError: cwd = None if (not os.path.isabs(_CONFIG_VARS['srcdir']) and base != cwd): # srcdir is relative and we are not in the same directory # as the executable. Assume executable is in the build # directory and make srcdir absolute. srcdir = os.path.join(base, _CONFIG_VARS['srcdir']) _CONFIG_VARS['srcdir'] = os.path.normpath(srcdir) # OS X platforms require special customization to handle # multi-architecture, multi-os-version installers if sys.platform == 'darwin': import _osx_support _osx_support.customize_config_vars(_CONFIG_VARS) if args: vals = [] for name in args: vals.append(_CONFIG_VARS.get(name)) return vals else: return _CONFIG_VARS def get_config_var(name): """Return the value of a single variable using the dictionary returned by 'get_config_vars()'. Equivalent to get_config_vars().get(name) """ return get_config_vars().get(name) def get_platform(): """Return a string that identifies the current platform. This is used mainly to distinguish platform-specific build directories and platform-specific built distributions. Typically includes the OS name and version and the architecture (as supplied by 'os.uname()'), although the exact information included depends on the OS; eg. for IRIX the architecture isn't particularly important (IRIX only runs on SGI hardware), but for Linux the kernel version isn't particularly important. Examples of returned values: linux-i586 linux-alpha (?) solaris-2.6-sun4u irix-5.3 irix64-6.2 Windows will return one of: win-amd64 (64bit Windows on AMD64 (aka x86_64, Intel64, EM64T, etc) win-ia64 (64bit Windows on Itanium) win32 (all others - specifically, sys.platform is returned) For other non-POSIX platforms, currently just returns 'sys.platform'. """ import re if os.name == 'nt': # sniff sys.version for architecture. prefix = " bit (" i = sys.version.find(prefix) if i == -1: return sys.platform j = sys.version.find(")", i) look = sys.version[i+len(prefix):j].lower() if look == 'amd64': return 'win-amd64' if look == 'itanium': return 'win-ia64' return sys.platform # Set for cross builds explicitly if "_PYTHON_HOST_PLATFORM" in os.environ: return os.environ["_PYTHON_HOST_PLATFORM"] if os.name != "posix" or not hasattr(os, 'uname'): # XXX what about the architecture? NT is Intel or Alpha, # Mac OS is M68k or PPC, etc. return sys.platform # Try to distinguish various flavours of Unix osname, host, release, version, machine = os.uname() # Convert the OS name to lowercase, remove '/' characters # (to accommodate BSD/OS), and translate spaces (for "Power Macintosh") osname = osname.lower().replace('/', '') machine = machine.replace(' ', '_') machine = machine.replace('/', '-') if osname[:5] == "linux": # At least on Linux/Intel, 'machine' is the processor -- # i386, etc. # XXX what about Alpha, SPARC, etc? return "%s-%s" % (osname, machine) elif osname[:5] == "sunos": if release[0] >= "5": # SunOS 5 == Solaris 2 osname = "solaris" release = "%d.%s" % (int(release[0]) - 3, release[2:]) # We can't use "platform.architecture()[0]" because a # bootstrap problem. We use a dict to get an error # if some suspicious happens. bitness = {2147483647:"32bit", 9223372036854775807:"64bit"} machine += ".%s" % bitness[sys.maxint] # fall through to standard osname-release-machine representation elif osname[:4] == "irix": # could be "irix64"! return "%s-%s" % (osname, release) elif osname[:3] == "aix": return "%s-%s.%s" % (osname, version, release) elif osname[:6] == "cygwin": osname = "cygwin" rel_re = re.compile (r'[\d.]+') m = rel_re.match(release) if m: release = m.group() elif osname[:6] == "darwin": import _osx_support osname, release, machine = _osx_support.get_platform_osx( get_config_vars(), osname, release, machine) return "%s-%s-%s" % (osname, release, machine) def get_python_version(): return _PY_VERSION_SHORT def _print_dict(title, data): for index, (key, value) in enumerate(sorted(data.items())): if index == 0: print '%s: ' % (title) print '\t%s = "%s"' % (key, value) def _main(): """Display all information sysconfig detains.""" if '--generate-posix-vars' in sys.argv: _generate_posix_vars() return print 'Platform: "%s"' % get_platform() print 'Python version: "%s"' % get_python_version() print 'Current installation scheme: "%s"' % _get_default_scheme() print _print_dict('Paths', get_paths()) print _print_dict('Variables', get_config_vars()) if __name__ == '__main__': _main()
SIMPAN PERUBAHAN