Python os.system使用多个文件路径进入命令行(替代r“C:\etc”)

2024-04-29 02:14:56 发布

您现在位置:Python中文网/ 问答频道 /正文

从Python3将以下内容输入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")

但不适用于完整字符串。有什么办法可以解决这个问题吗


Tags: 文件路径binframeworkfilesprogramstudentinc
1条回答
网友
1楼 · 发布于 2024-04-29 02:14:56

您可以使用^{},它接受组成完整命令的字符串列表。由于路径包含反斜杠,因此可以使用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',
])

相关问题 更多 >