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

标签 python python-3.x os.system

从 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”未被识别为内部或外部命令、可操作程序或批处理文件。

在尝试时在文件路径之前使用 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',
])

关于Python - os.system - 输入具有多个文件路径的命令行(r"C :\etc") 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60177467/

相关文章:

python - Python装饰器的典型应用和用例

python - 在 Python 2 或 3 中,如何同时获取系统调用的返回码和返回字符串?

python - Flask返回404错误的随机模板

python - pandas 映射到数组字典

python - 通过实例理解 LocalOutlinerFactor 算法

python - 如何将 .py 转换为 Python 的 .exe?

python - 在 Win10 上从 Python 备份 Postgres

python - 如何跳过打印命令输出并仅从 os.system 命令获取返回值?

python - 如何从 python 执行程序?操作系统失败

python - 如何在 scikit-learn 中使用管道调整自定义内核函数的参数