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