Is there a way to get the original source? I am trying to retrieve the main script from a py2exe'd old program. The programmer neglected to commit to SVN before leaving.
Using "Easy Python Decompiler" I am able to get the source for the imported modules. Using "Resources Viewer" from PlexData and some code I am able to retrieve the code object. I am however stumped as to how to retrieve the source from this code object. PythonWin 2.5.4 (r254:67916, Dec 23 2008, 15:10:54) [MSC v.1310 32 bit (Intel)] on win32. Portions Copyright 1994-2008 Mark Hammond - see 'Help/About PythonWin' for further copyright information. >>> s = 'import time\nprint time.time()\n' >>> c = compile(s, 'foo.py', 'exec') >>> exec(c) 1398299623.77 >>> c <code object <module> at 01E5C5C0, file "foo.py", line 1> >>> for n in dir(c): ... if n.startswith('_'): continue ... print n ... a = getattr(c, n) ... print type(a) ... print `a` ... print ... co_argcount <type 'int'> 0 co_cellvars <type 'tuple'> () co_code <type 'str'> 'd\x00\x00d\x01\x00k\x00\x00Z\x00\x00e\x00\x00i\x00\x00\x83\x00\x00GHd\x01\x00S' co_consts <type 'tuple'> (-1, None) co_filename <type 'str'> 'foo.py' co_firstlineno <type 'int'> 1 co_flags <type 'int'> 64 co_freevars <type 'tuple'> () co_lnotab <type 'str'> '\x0c\x01' co_name <type 'str'> '<module>' co_names <type 'tuple'> ('time',) co_nlocals <type 'int'> 0 co_stacksize <type 'int'> 2 co_varnames <type 'tuple'> () >>> len(s) 30 >>> len(c.co_code) 27 >>> -- https://mail.python.org/mailman/listinfo/python-list