有没有办法在Python中包含文件的内容作为代码(编译时)?

时间:2011-12-31 20:50:39

标签: python

我正在使用第三方应用程序的Python集成,其中Python代码内部存储在二进制文件中。所以我想将代码与它分开。我可以创建一个模块,但我需要包含的代码本身不起作用,因为它包含仅在该上下文中有效的本地化等。

我基本上是在编译时寻找一个复制粘贴解决方案。

有没有办法在Python中执行此操作?

1 个答案:

答案 0 :(得分:5)

是的,它被称为exec

您的代码如下所示:exec your_code_str。然后在当前范围内执行代码。

您还可以指定不同的范围:exec your_code_str in globals(), locals()(这些值是默认值,因此只有在它们不同时才指定它们)

请注意,您也可以传递文件对象,因此如果python代码只是二进制文件末尾的一个文本块,您可以只搜索代码的开头然后传递文件对象。