代码的第一部分是文件名loop.py,我希望在第二个文件名中运行loop2.py。我想在运行文件loop2.py时将值12,15,17赋值给lattice_size。我怎么能这样做?
代码loop.py
import argparse
p=argparse.ArgumentParser()
p.add_argument('--lattice_size', '-ls',default=4, type=int, help='lattice')
FLAGS=p.parse_args()
print ("Lattice size is %d" % (FLAGS.lattice_size))`
代码loop2.py
import os
import sys
os.system("python loop.py")`
答案 0 :(得分:1)
如果你想循环遍历这些参数,你应该可以使用:
import os
results = []
for ls in [12, 15, 17]:
result = os.system('python loop.py --lattice_size %s' % str(ls))
results.append(result)
这适用于Python 2.7或3.x。
您可能还想考虑使用subprocess.call
。虽然我不太熟悉Python 2.7的语法,但它应该更安全,功能更丰富。
import subprocess
results = []
for ls in [12, 15, 17]:
command = ['python', 'loop.py', '--lattice_size', str(ls)]
result = subprocess.call(command)
results.append(result) # make list of results
print(result)