从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',
])
关于python - Python-os.system-输入带有多个文件路径的命令行(r“C:\etc”的替代品),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/60177467/