demo.py
x=123
defhello(: )
t=(() 1,2 ) ) ) ) ) ) ) ) ) )。
类用户: pass
run.py
导入系统
导入演示
导入类型
导入marshal
导入dis
ef show _ code (代码,索引=' ' ) :
打印(f )索引代码) )
indent失眠的芳香=' '
打印(f (索引) argcount ) code.co_argcount ) )
print(f(indent ) nlocals ) code.co_nlocals ) )
打印(f (indent ) stacksize ) code.co_stacksize ) )
打印(f (索引) flags ) code.co_flags:04x ) )
dis.disassemble (代码) )。
打印(f )索引(consts ) ) )
for const in code.co_consts:
ifisinstance(const,types.CodeType ) :
show _ code (常数,索引失眠气氛' ')
else:
打印(f )索引(const ) ) )
print(f ) indent (names ) code.co_names ) )
print(f(indent ) varnames ) code.co_varnames ) )
print (f (索引) freevars ) code.co_freevars ) )
print (f (索引) cellvars ) code.co_cellvars ) )
print (f (索引)文件名(code.co_filename ) ) )
print(f ) indent (name ) code.co_name ) )
print (f (索引) firstlineno ) code.co_firstlineno ) )
defshow_file(:
header_sizes=[(8,) 0,9,2 ) ],) 12,),3,6 ),16,(3,7 ) ]
header_size=next(sfors,vinreversed(header_sizes ) if sys.version_info=v ) ) ) ) ) ) )
打印(isinstance (demo,types.ModuleType ) )
withopen(demo.__cached_,' rb ' ) as f:
元数据=f.read (header _ size ) )
是code=Marshal.load(f )
是打印(代码)
show _ code (代码)是
if __name__=='__main__':
show_file ()