我想从另一个Python脚本运行Python脚本。我想要像使用命令行一样传递变量。从另一个python脚本运行python脚本,传入参数
例如,我会跑我的,将通过值(0,1,2,3)的列表迭代第一个脚本,并通过那些到第二脚本script2.py 0
然后script2.py 1
等
我发现SO 1186789这是一个类似的问题,但阿尔斯的答案调用函数,因为我想运行整个脚本不只是一个函数,和balpha的答案调用脚本,但没有参数。我将其改为如下所示的测试:
execfile("script2.py 1")
但它没有正确接受变量。当我在script2.py中打印出sys.argv
时,它是第一个脚本“['C:\ script1.py']”的原始命令调用。
我不是真的想要更改原始脚本(即script2。 。在我的例子PY),因为我不拥有它
我想一定有办法做到这一点,我只是困惑,你是怎么做到的
问题是如果您知道脚本的名称(然后导入它),或者如果您在编程时不知道脚本的名称(然后使用subprocess.call)。在第二种情况下,这个问题也不会重复。因为这个问题没有说清楚,所以也不是很好。 – Trilarion 2015-09-03 11:37:47
@Trilarion:错了。你可以导入一个python模块,即使它的名字是在运行时生成的。 – jfs 2015-11-29 08:33:50
@ J.F.Sebastian好的。作为一个方面的评论:这种方式并没有真正涵盖任何答案或链接的问题,部分在http://stackoverflow.com/a/1186840/1536976。 – Trilarion 2015-11-29 10:05:05