Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用os.system从另一个文件更改命令行值_Python_Python 2.7 - Fatal编程技术网

Python 使用os.system从另一个文件更改命令行值

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 ("

代码的第一部分位于文件名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 ("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]没有这样的文件或目录,现在我遇到了这个错误。我使用的是完全相同的命令