如何从python方法内执行python代码?

问题描述:

我正在为我们的代码编写一个部署引擎。如何从python方法内执行python代码?

我打算在每个项目目录中放置一个“deploy.py”,然后决定需要部署哪些项目,让每个项目的“deploy.py”执行其逻辑以进行正确的部署配置。

你会如何推荐这样做?我一直在考虑从“deployment_engine.py”代码中执行每个deploy.py文件中的python代码(我从scons方法中得到了这个想法)。

Alternativly我想以某种方式“进口”的代码(注意,在每个项目中的文件被命名为“deploy.py”这样一个简单的导入deploy.py似乎并没有在这里做的工作)

谢谢你,
Maxim。

您可以使用__import__ function来进行动态导入。

+1

...并创建一个'main'函数完成所有需要的操作,并将该函数调用放在顶层或'if __name__ =='deploy'中:main()' – khachik 2010-12-19 13:00:28

+0

这听起来像是一个很好的解决方案。有人可以提供代码示例吗?我是python的新手... – 2010-12-19 13:06:24

+0

@Maxim Veksler:在这个答案中包含的链接中有'__import__'函数的在线文档中的例子 - 你还想要什么? – martineau 2010-12-19 19:25:12