Python 运行visual studio C++;使用不同参数多次编程 我有一个C++ Visual Studio程序,叫做test,它有两个参数。我必须使用大量不同的参数运行此程序,如: /test-a-b(a是arg1,b是arg2) /test-c-d
如果我提供了一组参数,如何创建一个python脚本来多次运行这个程序?(而不是我多次运行上述命令) Soln: 这是我使用的代码:Python 运行visual studio C++;使用不同参数多次编程 我有一个C++ Visual Studio程序,叫做test,它有两个参数。我必须使用大量不同的参数运行此程序,如: /test-a-b(a是arg1,b是arg2) /test-c-d,python,visual-studio,Python,Visual Studio,如果我提供了一组参数,如何创建一个python脚本来多次运行这个程序?(而不是我多次运行上述命令) Soln: 这是我使用的代码: for commands in listargs: cmd = ["../../Test.exe", commands[0], commands[1]] result = subprocess.Popen(cmd, stdout=subprocess.PIPE) stdin, stderr = result.communicate()
for commands in listargs:
cmd = ["../../Test.exe", commands[0], commands[1]]
result = subprocess.Popen(cmd, stdout=subprocess.PIPE)
stdin, stderr = result.communicate()
print stdin
我在一个由两个元组(listargs)组成的列表中给出参数。每个元组都有一次执行的参数。或者正如前面提到的,我们可以在csv文件中给出参数。谢谢您的帮助。您还没有解释如何“提供参数集” 假设您要创建一个CSV文件,如下所示:
a,b
c,d
这在文本编辑器中创建起来非常简单,甚至可以在Excel中创建
Python在标准库中有一个模块,它知道如何准确地读取该格式,将每一行转换为一个值列表
它有一个模块,知道如何使用参数列表运行程序
例如:
with open('args.csv') as f:
for args in csv.reader(f):
subprocess.call(['./test'] + args)
如果您想将每次运行的输出存储在一个文件中,或者检查输出并在出现错误时引发异常等,您几乎可以使用
子流程执行任何操作,您只需阅读文档。对于这种类型的内容,您应该使用,可能是子流程。通讯:
p = subprocess.Popen(['./test', '-' + a, '-' + b])
p.communicate()
这是一个非常通用的命令,还允许您重定向输入和输出。请参阅。您所说的“c++visual studio程序”是什么意思?你是指一个可执行文件(你是用VisualStudio的C++编译器编译的)?更重要的是,你想如何提供一组参数?是否要在提示下键入a
和b
?或者创建一个CSV文件,其中包含a、b
?还是…?