【发布时间】:2012-09-26 03:23:09
【问题描述】:
我正在编写一个基本的 Python 脚本,它最终会生成一个字符串,用于在 Linux 命令行上调用其他脚本。
例如:
inputFile = "loadsOfData.csv"
outputFile = "results.txt"
doThis = "-p"
doThat = '-a"
scriptCommand = "./myscript" + " " + inputFile + " " + outputFile + " " + doThis + " " + doThat
os.system(scriptCommand)
命令行参数的顺序将来可能会改变,我想检查一下生成了什么。
在 Python 中是否有某种方法可以指定模板,以便轻松更改参数的格式并确保准确性?
真实的例子有比这更多的参数,所以我很高兴能够使用可以在脚本顶部编辑的一些模板来指定顺序,而不是在 scriptCommand = 中复制粘贴所有内容。 ...如果它确实改变了。
附:实际的 args 来自其他地方,包括 argv,因此不像我的示例中那样硬编码。
【问题讨论】:
-
您应该使用subprocess 模块,它旨在替换
os.system。它接受带有命令及其参数的列表:您可以动态构建该列表,然后将其传递给适当的subprocess函数。
标签: linux python-2.7