如何执行编译的python代码

时间:2015-08-27 21:31:10

标签: python pyc

我有一个已编译的Python文件path/program.pyc

我想用我当前的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时,我希望看到输出:1

实际上execfile()完全符合我的要求,但它仅适用于.py个文件而非.pyc个文件。我正在寻找适用于execfile()个文件的.pyc版本。

1 个答案:

答案 0 :(得分:-3)

使用__import__ https://docs.python.org/2/library/functions.html#import

请注意,您需要使用标准的python包表示法而不是路径,并且需要确保您的文件位于sys.path

__import__('path.program', globals(), locals())之类的东西可以解决问题。