在python中运行程序提示符

时间:2017-01-05 16:33:31

标签: python windows command automated-tests prompt

我想知道如何在python中使用命令提示符。这是事情,我需要运行一个基于python的程序,我曾经在命令提示符下执行它。但是,我需要多次运行此程序,因此,希望自动化它。该程序需要与特定文件夹中的文件一起运行,并使用位于同一特定文件夹中的配置文件。最后,我还需要它在完成每个进程后给出一个日志文件。我曾经在命令提示符下执行所有这些操作:

.

我尝试使用python:

C:\Users\Gabriel\Documents\vina_tutorial>"\Program Files (x86)\The Scripps Research Institute\Vina\vina.exe" --config conf.txt --log log.txt

然而,它似乎没有用。 (我在第一步中省略了日志文件)

有关如何继续或在哪里可以了解它的任何提示?

1 个答案:

答案 0 :(得分:1)

您需要将shell命令拆分为传递给Popen的单独参数。 Read the documentation

>>> import shlex, subprocess
>>> command_line = input()
/bin/vikings -input eggs.txt -output "spam spam.txt" -cmd "echo '$MONEY'"
>>> args = shlex.split(command_line)
>>> print(args)
['/bin/vikings', '-input', 'eggs.txt', '-output', 'spam spam.txt', '-cmd', "echo '$MONEY'"]
>>> p = subprocess.Popen(args) # Success!

此外,您可能需要转义Windows文件路径中的反斜杠。您可能还需要附上引号IE '"C:\\Program Files (x86)\\etc..\\foo.exe"'