我正在使用第三方应用程序的Python集成,其中Python代码内部存储在二进制文件中。所以我想将代码与它分开。我可以创建一个模块,但我需要包含的代码本身不起作用,因为它包含仅在该上下文中有效的本地化等。
我基本上是在编译时寻找一个复制粘贴解决方案。
有没有办法在Python中执行此操作?
答案 0 :(得分:5)
是的,它被称为exec
。
您的代码如下所示:exec your_code_str
。然后在当前范围内执行代码。
您还可以指定不同的范围:exec your_code_str in globals(), locals()
(这些值是默认值,因此只有在它们不同时才指定它们)
请注意,您也可以传递文件对象,因此如果python代码只是二进制文件末尾的一个文本块,您可以只搜索代码的开头然后传递文件对象。