2016-04-10 27 views
0

我有一个场景,我必须在另一个python脚本中多次调用某个Python脚本。从另一个python脚本中调用相同的python脚本for循环

SCRIPT1:

import sys 

path=sys.argv 

print "I am a test" 
print "see! I do nothing productive." 
print "path:",path[1] 

SCRIPT2:

import subprocess 

l=list() 
l.append('root') 
l.append('root1') 
l.append('root2') 

for i in l: 
    cmd="python script1.py i" 
    subprocess.Popen(cmd,shell=True) 

在这里,我的问题是,在脚本2,我不能够取代的价值,在 “我” 的循环。 你能帮忙吗?

+0

在刚刚创建的字符串循环。 'cmd =“python script1.py”+ str(i)'。你把'我'硬编码为一个角色,而不是使用它的价值。 – iamseiko

回答

1

替代i的值到字符串您可以连接它:

cmd="python script1.py "+i 

或格式化成字符串:您需要使用变量i,而不是

cmd="python script1.py %s"%i 

无论哪种方式字符串我。

0

我认为你正在寻找这样的:

cmd="python script1.py %s" % i 
0

使用subprocess.Popen一个列表:

import subprocess 

paths = ['root', 'root1', 'root2'] 

for path in paths: 
    subprocess.Popen(['python', 'script1.py', path])