Python - os.system - 输入带有多个文件路径的命令行(替代 r"C:\etc")

Python - os.system - entering command line with multiple file paths (alternatives to r"C:\etc")

从 Python 3 将以下内容输入 windows 命令行的最佳方法是什么?命令中有三个文件路径必须在一行中输入(我相信)。

"C:\Program Files\ANSYS Inc\ANSYS Student\v194\Framework\bin\Win64\runwb2" -B -F "E:\MEngA\Ansys\IFD_PartA_Rev3.wbpj" -R "E:\MEngA\Results\sn07\script_partA.wbjn"

它需要引号。目前正在尝试:

os.system('"C:\Program Files\ANSYS Inc\ANSYS Student\v194\Framework\bin\Win64\runwb2" -B -F "E:\MEngA\Ansys\IFD_PartA_Rev3.wbpj" -R "E:\MEngA\Results\sn07\script_partA.wbjn"')

但空格会导致问题:

'C:\Program' is not recognized as an internal or external command, operable program or batch file.

在尝试时在文件路径之前使用 r: os.system(r'"C:\Program Files\ANSYS Inc\ANSYS Student\v194\Framework\bin\Win64\runwb2")

但不适用于完整的字符串。有什么解决办法吗?

您可以使用 subprocess.run,它接受一起组成完整命令的字符串列表。由于您的路径包含反斜杠,您可以使用 r'' 来获取原始字符串。第一个路径也包含空格,因此需要用额外的引号括起来 "".

import subprocess

subprocess.run([
    r'"C:\Program Files\ANSYS Inc\ANSYS Student\v194\Framework\bin\Win64\runwb2"',
     '-B',
     '-F',
    r'E:\MEngA\Ansys\IFD_PartA_Rev3.wbpj',
     '-R',
    r'E:\MEngA\Results\sn07\script_partA.wbjn',
])