Python脚本中的命令行

Python脚本中的命令行,python,Python,我正在使用子流程调用命令行。比如说, subprocess.check_output(["echo", "Hello World!"]) 这是一个论点。我想调用一个名为“myFuntion”的可执行文件,并按其名称向其传递几个参数。我应该编写的命令行是: ./myFunction --arg1 a1 --arg2 a2 如何“翻译”这个?很简单:每个参数在列表中都是一个单独的元素 因此,如果您了解shell将如何分隔此命令行: ./myFunction --arg1 a1 --arg2 a

我正在使用
子流程
调用命令行。比如说,

subprocess.check_output(["echo", "Hello World!"])
这是一个论点。我想调用一个名为“myFuntion”的可执行文件,并按其名称向其传递几个参数。我应该编写的命令行是:

./myFunction --arg1 a1 --arg2 a2 

如何“翻译”这个?

很简单:每个参数在列表中都是一个单独的元素

因此,如果您了解shell将如何分隔此命令行:

./myFunction --arg1 a1 --arg2 a2
…你知道这些论点是什么。当没有引号、转义符或其他奇特的东西时,外壳就在空格上分开。这只是5个论点:

subprocess.check_output(["./myFunction", "--arg1", "a1", "--arg2", "a2"])
如果您有一个不确定如何翻译的命令行,可以让shell为您翻译……或者只使用Python中的模块:

>>> print(shlex.split('./myFunction --arg1 a1 --arg2 a2'))
['./myFunction', '--arg1', 'a1', '--arg2', 'a2']