我需要使用不同的参数多次在另一个python脚本中执行python脚本。 我知道这听起来很可怕,但有理由。 然而问题是被调用者脚本不检查它是否被导入或执行(如果__name__ =='__ main__':...)。
答案 0 :(得分:2)
为您找到解决方案。你可以在python中重新加载一个模块,你可以修补sys.argv。
想象一下,echo.py是您想要多次调用的被调用者脚本:
#!/usr/bin/env python
# file: echo.py
import sys
print sys.argv
您可以作为来电者脚本:
#!/usr/bin/env python
# file: test.py
import sys
sys.argv[1] = 'test1'
import echo
sys.argv[1] = 'test2'
reload(echo)
并使用以下命令调用它:python test.py place_holder
它将打印输出:
['test.py', 'test1']
['test.py', 'test2']