X7ROOT File Manager
Current Path:
/opt/alt/python33/lib64/python3.3
opt
/
alt
/
python33
/
lib64
/
python3.3
/
ðŸ“
..
📄
__future__.py
(4.48 KB)
📄
__phello__.foo.py
(64 B)
ðŸ“
__pycache__
📄
_compat_pickle.py
(4.24 KB)
📄
_dummy_thread.py
(4.66 KB)
📄
_markupbase.py
(14.26 KB)
📄
_osx_support.py
(18.41 KB)
📄
_pyio.py
(71.2 KB)
📄
_strptime.py
(21.17 KB)
📄
_sysconfigdata.py
(22.31 KB)
📄
_threading_local.py
(7.24 KB)
📄
_weakrefset.py
(5.57 KB)
📄
abc.py
(7.87 KB)
📄
aifc.py
(30.33 KB)
📄
antigravity.py
(475 B)
📄
argparse.py
(86.98 KB)
📄
ast.py
(11.86 KB)
📄
asynchat.py
(11.32 KB)
📄
asyncore.py
(20.27 KB)
📄
base64.py
(13.66 KB)
📄
bdb.py
(21.38 KB)
📄
binhex.py
(13.39 KB)
📄
bisect.py
(2.53 KB)
📄
bz2.py
(18.04 KB)
📄
cProfile.py
(6.21 KB)
📄
calendar.py
(22.4 KB)
📄
cgi.py
(34.72 KB)
📄
cgitb.py
(11.76 KB)
📄
chunk.py
(5.25 KB)
📄
cmd.py
(14.51 KB)
📄
code.py
(9.79 KB)
📄
codecs.py
(35.11 KB)
📄
codeop.py
(5.85 KB)
ðŸ“
collections
📄
colorsys.py
(3.6 KB)
📄
compileall.py
(9.51 KB)
ðŸ“
concurrent
ðŸ“
config-3.3m
📄
configparser.py
(48.28 KB)
📄
contextlib.py
(8.91 KB)
📄
copy.py
(8.78 KB)
📄
copyreg.py
(6.46 KB)
📄
crypt.py
(1.83 KB)
📄
csv.py
(15.81 KB)
ðŸ“
ctypes
ðŸ“
curses
📄
datetime.py
(73.2 KB)
ðŸ“
dbm
📄
decimal.py
(223.2 KB)
📄
difflib.py
(80.58 KB)
📄
dis.py
(9.9 KB)
ðŸ“
distutils
📄
doctest.py
(100.52 KB)
📄
dummy_threading.py
(2.75 KB)
ðŸ“
email
ðŸ“
encodings
📄
filecmp.py
(9.37 KB)
📄
fileinput.py
(13.92 KB)
📄
fnmatch.py
(3.09 KB)
📄
formatter.py
(14.58 KB)
📄
fractions.py
(22.49 KB)
📄
ftplib.py
(39.31 KB)
📄
functools.py
(13.28 KB)
📄
genericpath.py
(3.02 KB)
📄
getopt.py
(7.31 KB)
📄
getpass.py
(5.66 KB)
📄
gettext.py
(20.15 KB)
📄
glob.py
(2.77 KB)
📄
gzip.py
(23.83 KB)
📄
hashlib.py
(6.05 KB)
📄
heapq.py
(17.58 KB)
📄
hmac.py
(4.34 KB)
ðŸ“
html
ðŸ“
http
ðŸ“
idlelib
📄
imaplib.py
(48.94 KB)
📄
imghdr.py
(3.45 KB)
📄
imp.py
(9.5 KB)
ðŸ“
importlib
📄
inspect.py
(77.11 KB)
📄
io.py
(3.2 KB)
📄
ipaddress.py
(68.66 KB)
ðŸ“
json
📄
keyword.py
(2.01 KB)
ðŸ“
lib-dynload
ðŸ“
lib2to3
📄
linecache.py
(3.77 KB)
📄
locale.py
(91.03 KB)
ðŸ“
logging
📄
lzma.py
(17.04 KB)
📄
macpath.py
(5.49 KB)
📄
macurl2path.py
(2.67 KB)
📄
mailbox.py
(77.24 KB)
📄
mailcap.py
(7.26 KB)
📄
mimetypes.py
(20.25 KB)
📄
modulefinder.py
(22.65 KB)
ðŸ“
multiprocessing
📄
netrc.py
(5.61 KB)
📄
nntplib.py
(41.78 KB)
📄
ntpath.py
(19.96 KB)
📄
nturl2path.py
(2.34 KB)
📄
numbers.py
(10.15 KB)
📄
opcode.py
(4.98 KB)
📄
optparse.py
(58.93 KB)
📄
os.py
(33.96 KB)
📄
os2emxpath.py
(4.55 KB)
📄
pdb.py
(59.23 KB)
📄
pickle.py
(46.74 KB)
📄
pickletools.py
(79.44 KB)
📄
pipes.py
(8.71 KB)
📄
pkgutil.py
(21.03 KB)
ðŸ“
plat-linux
📄
platform.py
(49.55 KB)
📄
plistlib.py
(14.43 KB)
📄
poplib.py
(11.11 KB)
📄
posixpath.py
(13.92 KB)
📄
pprint.py
(12.4 KB)
📄
profile.py
(20.95 KB)
📄
pstats.py
(25.75 KB)
📄
pty.py
(4.94 KB)
📄
py_compile.py
(6.56 KB)
📄
pyclbr.py
(13.12 KB)
📄
pydoc.py
(99.26 KB)
ðŸ“
pydoc_data
📄
queue.py
(8.63 KB)
📄
quopri.py
(7.14 KB)
📄
random.py
(25.06 KB)
📄
re.py
(14.62 KB)
📄
reprlib.py
(4.99 KB)
📄
rlcompleter.py
(5.4 KB)
📄
runpy.py
(10.17 KB)
📄
sched.py
(6.25 KB)
📄
shelve.py
(8.05 KB)
📄
shlex.py
(11.23 KB)
📄
shutil.py
(38.23 KB)
ðŸ“
site-packages
📄
site.py
(21.46 KB)
📄
smtpd.py
(29.5 KB)
📄
smtplib.py
(37.13 KB)
📄
sndhdr.py
(6.07 KB)
📄
socket.py
(14.56 KB)
📄
socketserver.py
(23.63 KB)
ðŸ“
sqlite3
📄
sre_compile.py
(15.96 KB)
📄
sre_constants.py
(7.06 KB)
📄
sre_parse.py
(29.5 KB)
📄
ssl.py
(23.9 KB)
📄
stat.py
(4.2 KB)
📄
string.py
(9.19 KB)
📄
stringprep.py
(12.61 KB)
📄
struct.py
(238 B)
📄
subprocess.py
(65.99 KB)
📄
sunau.py
(17.11 KB)
📄
symbol.py
(2 KB)
📄
symtable.py
(7.21 KB)
📄
sysconfig.py
(24.58 KB)
📄
tabnanny.py
(11.14 KB)
📄
tarfile.py
(86.78 KB)
📄
telnetlib.py
(26.71 KB)
📄
tempfile.py
(22.47 KB)
ðŸ“
test
📄
textwrap.py
(16.1 KB)
📄
this.py
(1003 B)
📄
threading.py
(44.57 KB)
📄
timeit.py
(12.1 KB)
📄
token.py
(2.96 KB)
📄
tokenize.py
(24.29 KB)
📄
trace.py
(30.75 KB)
📄
traceback.py
(11.7 KB)
📄
tty.py
(879 B)
📄
types.py
(3.09 KB)
ðŸ“
unittest
ðŸ“
urllib
📄
uu.py
(6.61 KB)
📄
uuid.py
(21.83 KB)
ðŸ“
venv
📄
warnings.py
(13.5 KB)
📄
wave.py
(18.14 KB)
📄
weakref.py
(11.23 KB)
📄
webbrowser.py
(22.38 KB)
ðŸ“
wsgiref
📄
xdrlib.py
(5.25 KB)
ðŸ“
xml
ðŸ“
xmlrpc
📄
zipfile.py
(64.87 KB)
Editing: dis.py
"""Disassembler of Python byte code into mnemonics.""" import sys import types from opcode import * from opcode import __all__ as _opcodes_all __all__ = ["code_info", "dis", "disassemble", "distb", "disco", "findlinestarts", "findlabels", "show_code"] + _opcodes_all del _opcodes_all _have_code = (types.MethodType, types.FunctionType, types.CodeType, type) def _try_compile(source, name): """Attempts to compile the given source, first as an expression and then as a statement if the first approach fails. Utility function to accept strings in functions that otherwise expect code objects """ try: c = compile(source, name, 'eval') except SyntaxError: c = compile(source, name, 'exec') return c def dis(x=None): """Disassemble classes, methods, functions, or code. With no argument, disassemble the last traceback. """ if x is None: distb() return if hasattr(x, '__func__'): # Method x = x.__func__ if hasattr(x, '__code__'): # Function x = x.__code__ if hasattr(x, '__dict__'): # Class or module items = sorted(x.__dict__.items()) for name, x1 in items: if isinstance(x1, _have_code): print("Disassembly of %s:" % name) try: dis(x1) except TypeError as msg: print("Sorry:", msg) print() elif hasattr(x, 'co_code'): # Code object disassemble(x) elif isinstance(x, (bytes, bytearray)): # Raw bytecode _disassemble_bytes(x) elif isinstance(x, str): # Source code _disassemble_str(x) else: raise TypeError("don't know how to disassemble %s objects" % type(x).__name__) def distb(tb=None): """Disassemble a traceback (default: last traceback).""" if tb is None: try: tb = sys.last_traceback except AttributeError: raise RuntimeError("no last traceback to disassemble") while tb.tb_next: tb = tb.tb_next disassemble(tb.tb_frame.f_code, tb.tb_lasti) # The inspect module interrogates this dictionary to build its # list of CO_* constants. It is also used by pretty_flags to # turn the co_flags field into a human readable list. COMPILER_FLAG_NAMES = { 1: "OPTIMIZED", 2: "NEWLOCALS", 4: "VARARGS", 8: "VARKEYWORDS", 16: "NESTED", 32: "GENERATOR", 64: "NOFREE", } def pretty_flags(flags): """Return pretty representation of code flags.""" names = [] for i in range(32): flag = 1<<i if flags & flag: names.append(COMPILER_FLAG_NAMES.get(flag, hex(flag))) flags ^= flag if not flags: break else: names.append(hex(flags)) return ", ".join(names) def code_info(x): """Formatted details of methods, functions, or code.""" if hasattr(x, '__func__'): # Method x = x.__func__ if hasattr(x, '__code__'): # Function x = x.__code__ if isinstance(x, str): # Source code x = _try_compile(x, "<code_info>") if hasattr(x, 'co_code'): # Code object return _format_code_info(x) else: raise TypeError("don't know how to disassemble %s objects" % type(x).__name__) def _format_code_info(co): lines = [] lines.append("Name: %s" % co.co_name) lines.append("Filename: %s" % co.co_filename) lines.append("Argument count: %s" % co.co_argcount) lines.append("Kw-only arguments: %s" % co.co_kwonlyargcount) lines.append("Number of locals: %s" % co.co_nlocals) lines.append("Stack size: %s" % co.co_stacksize) lines.append("Flags: %s" % pretty_flags(co.co_flags)) if co.co_consts: lines.append("Constants:") for i_c in enumerate(co.co_consts): lines.append("%4d: %r" % i_c) if co.co_names: lines.append("Names:") for i_n in enumerate(co.co_names): lines.append("%4d: %s" % i_n) if co.co_varnames: lines.append("Variable names:") for i_n in enumerate(co.co_varnames): lines.append("%4d: %s" % i_n) if co.co_freevars: lines.append("Free variables:") for i_n in enumerate(co.co_freevars): lines.append("%4d: %s" % i_n) if co.co_cellvars: lines.append("Cell variables:") for i_n in enumerate(co.co_cellvars): lines.append("%4d: %s" % i_n) return "\n".join(lines) def show_code(co): """Print details of methods, functions, or code to stdout.""" print(code_info(co)) def disassemble(co, lasti=-1): """Disassemble a code object.""" code = co.co_code labels = findlabels(code) linestarts = dict(findlinestarts(co)) n = len(code) i = 0 extended_arg = 0 free = None while i < n: op = code[i] if i in linestarts: if i > 0: print() print("%3d" % linestarts[i], end=' ') else: print(' ', end=' ') if i == lasti: print('-->', end=' ') else: print(' ', end=' ') if i in labels: print('>>', end=' ') else: print(' ', end=' ') print(repr(i).rjust(4), end=' ') print(opname[op].ljust(20), end=' ') i = i+1 if op >= HAVE_ARGUMENT: oparg = code[i] + code[i+1]*256 + extended_arg extended_arg = 0 i = i+2 if op == EXTENDED_ARG: extended_arg = oparg*65536 print(repr(oparg).rjust(5), end=' ') if op in hasconst: print('(' + repr(co.co_consts[oparg]) + ')', end=' ') elif op in hasname: print('(' + co.co_names[oparg] + ')', end=' ') elif op in hasjrel: print('(to ' + repr(i + oparg) + ')', end=' ') elif op in haslocal: print('(' + co.co_varnames[oparg] + ')', end=' ') elif op in hascompare: print('(' + cmp_op[oparg] + ')', end=' ') elif op in hasfree: if free is None: free = co.co_cellvars + co.co_freevars print('(' + free[oparg] + ')', end=' ') elif op in hasnargs: print('(%d positional, %d keyword pair)' % (code[i-2], code[i-1]), end=' ') print() def _disassemble_bytes(code, lasti=-1, varnames=None, names=None, constants=None): labels = findlabels(code) n = len(code) i = 0 while i < n: op = code[i] if i == lasti: print('-->', end=' ') else: print(' ', end=' ') if i in labels: print('>>', end=' ') else: print(' ', end=' ') print(repr(i).rjust(4), end=' ') print(opname[op].ljust(15), end=' ') i = i+1 if op >= HAVE_ARGUMENT: oparg = code[i] + code[i+1]*256 i = i+2 print(repr(oparg).rjust(5), end=' ') if op in hasconst: if constants: print('(' + repr(constants[oparg]) + ')', end=' ') else: print('(%d)'%oparg, end=' ') elif op in hasname: if names is not None: print('(' + names[oparg] + ')', end=' ') else: print('(%d)'%oparg, end=' ') elif op in hasjrel: print('(to ' + repr(i + oparg) + ')', end=' ') elif op in haslocal: if varnames: print('(' + varnames[oparg] + ')', end=' ') else: print('(%d)' % oparg, end=' ') elif op in hascompare: print('(' + cmp_op[oparg] + ')', end=' ') elif op in hasnargs: print('(%d positional, %d keyword pair)' % (code[i-2], code[i-1]), end=' ') print() def _disassemble_str(source): """Compile the source string, then disassemble the code object.""" disassemble(_try_compile(source, '<dis>')) disco = disassemble # XXX For backwards compatibility def findlabels(code): """Detect all offsets in a byte code which are jump targets. Return the list of offsets. """ labels = [] n = len(code) i = 0 while i < n: op = code[i] i = i+1 if op >= HAVE_ARGUMENT: oparg = code[i] + code[i+1]*256 i = i+2 label = -1 if op in hasjrel: label = i+oparg elif op in hasjabs: label = oparg if label >= 0: if label not in labels: labels.append(label) return labels def findlinestarts(code): """Find the offsets in a byte code which are start of lines in the source. Generate pairs (offset, lineno) as described in Python/compile.c. """ byte_increments = list(code.co_lnotab[0::2]) line_increments = list(code.co_lnotab[1::2]) lastlineno = None lineno = code.co_firstlineno addr = 0 for byte_incr, line_incr in zip(byte_increments, line_increments): if byte_incr: if lineno != lastlineno: yield (addr, lineno) lastlineno = lineno addr += byte_incr lineno += line_incr if lineno != lastlineno: yield (addr, lineno) def _test(): """Simple test program to disassemble a file.""" if sys.argv[1:]: if sys.argv[2:]: sys.stderr.write("usage: python dis.py [-|file]\n") sys.exit(2) fn = sys.argv[1] if not fn or fn == "-": fn = None else: fn = None if fn is None: f = sys.stdin else: f = open(fn) source = f.read() if fn is not None: f.close() else: fn = "<stdin>" code = compile(source, fn, "exec") dis(code) if __name__ == "__main__": _test()
Upload File
Create Folder