你有包装python脚本调用另一个python脚本,目前使用os.system('python another.py some-params')
。如何从你的脚本执行另一个python脚本并且能够调试?
您希望能够对两个脚本进行调试,并且如果您使用os.system()
则会丢失调试器,因此使用同一个解释器加载第二个脚本而不是启动另一个脚本是有意义的。
import
不符合预期的事情,因为它不运行__main__
。
其他变体,如exec()
或runpy
接缝错过argv
参数。
你看到这个问题的解决方案是什么?
我正在寻找一个不需要您修改another.py
脚本的解决方案。在执行它之前,可能需要修改sys.argv
。
在非解决方案中,您还有'execfile()',这在其他情况下可能很有用。 – EOL 2010-09-07 14:44:13
我忘记了'execfile()',我会测试它是否运行'__main__',这是非常重要的。 – sorin 2010-09-07 20:09:35