我有一个程序,我从命令行运行,带有两个文件参数,如下所示:
$ my_program
我想编写一个python脚本,可以使用不同的文件参数来运行此程序的迭代。例如:
$ my_program <file_1> <file_4>
$ my_program <file_2> <file_4>
$ my_program <file_3> <file_4>
...
我正在尝试使用python中的子进程模块来运行此程序的迭代。我似乎无法弄清楚我是如何迭代throguth不同的文件参数,然后从命令行运行这些命令中的每一个。任何人都可以指出我正确的方向或提供一些示例代码,以解释如何做到这一点。在此先感谢您的帮助!
答案 0 :(得分:2)
从我收集的内容来看,你需要这样的东西:
cmds = [path_to_program, arg1, arg2]
subprocess.Popen(cmds)
然后,如果你想迭代许多,比如:
cmds = [('file1', 'file4'), ('file2', 'file4'), ('file3', 'file4')]
for arg1, arg2 in cmds:
subprocess.Popen([path_to_program, arg1, arg2])
答案 1 :(得分:0)
for fname in ('1', '2', '3'):
do_something_with(['a', fname, 'b'])
根据需要替换for
循环和函数调用中的序列。
答案 2 :(得分:0)
您正在寻找的是做一个bash脚本。在那里,您可以像在命令行中那样执行这些命令。
你可以进入你的主要功能并执行它,但它不会那么灵活。