从另一个python脚本运行一个python脚本,传入args

问题:

我想从另一个Python脚本运行一个Python脚本。我想传递变量,就像我将使用命令行。
例如,我将运行我的第一个脚本,它将遍历一个值列表(0,1,2,3),并将它们传递到第二个脚本script2.py 0然后script2.py 1等等。
我发现SO 1186789这是一个类似的问题,但是ars的回答调用了一个函数,在这里我想运行整个脚本而不仅仅是一个函数,而balpha的回答调用脚本,但没有args。我把它改成了如下所示的测试:

execfile("script2.py 1")

但是它不是正确接受变量。当我在script2.py中打印出sys.argv时,它是第一个脚本“[‘C:\ script1.py’]的原始命令调用。
我真的不想改变原始脚本(即我的例子中的script2.py),因为我不拥有它。
我认为必须有办法做到这一点,我只是困惑你如何做到这一点。

回答:

尝试使用os.system

os.system("script2.py 1")

 execfile是不同的,因为它被设计为在current执行上下文中运行一系列Python语句。这就是为什么sys.argv没有改变。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Run a python script from another python script, passing in args

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

94 − = 91