Python 使用os.system从另一个文件更改命令行值
代码的第一部分位于文件名loop.py中,我希望在第二个文件名loop2.py中运行该文件。我想在运行loop2.py文件时将值12,15,17分配给lattice_大小。我该怎么做 循环.py的代码Python 使用os.system从另一个文件更改命令行值,python,python-2.7,Python,Python 2.7,代码的第一部分位于文件名loop.py中,我希望在第二个文件名loop2.py中运行该文件。我想在运行loop2.py文件时将值12,15,17分配给lattice_大小。我该怎么做 循环.py的代码 import argparse p=argparse.ArgumentParser() p.add_argument('--lattice_size', '-ls',default=4, type=int, help='lattice') FLAGS=p.parse_args() print ("
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))`
import os
import sys
os.system("python loop.py")`
loop2.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))`
import os
import sys
os.system("python loop.py")`
如果要循环使用这些参数,应能够使用:
import os
results = []
for ls in [12, 15, 17]:
result = os.system('python loop.py --lattice_size %s' % str(ls))
results.append(result)
这应该适用于Python2.7或3.x
您可能还想研究使用。虽然我对Python2.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)
好的,谢谢。但是,如何使用os.system命令实现这一点呢?我想使用os.system我很确定您可以在该循环中使用
os.system('python loop.py--lattice_size{}.format(ls))
。但是问问自己为什么要使用操作系统
,然后查看<代码>子流程基本上只是更好,除非你有充分的理由选择操作系统
。我重复了更新后的答案,但它给了我一个错误,语法无效对不起,我的参数中的输入错误,应该是--lattice_size
;我只有一个“t”。python:无法打开文件'loop.py':[Errno 2]没有这样的文件或目录,现在我遇到了这个错误。我使用的是完全相同的命令