我有一个编译的Python文件,path/program.pyc
。如何执行编译的Python代码
我想执行它与我目前的globals()
和locals()
。我想:
with open('path/program.pyc','rb') as f:
code = f.read()
exec(code, globals(), locals())
更具体地说,我想有是:
a.py:
a = 1
# somehow run b.pyc
b.py:
print(a)
当我运行a.py
时,我想要e输出:1
。
其实execfile()
确实是我想要的,但它只适用于.py
文件而不是.pyc
文件。我正在寻找适用于.pyc
文件的execfile()
版本。
你想在b中运行代码? –
@PadraicCunningham是的,但我只有'b.pyc'而不是'b.py'。 – Sait
一个简单的方法是对pyc进行uncompile,对于那些涉及很少开销的小文件。 https://github.com/wibiti/uncompyle2 –