Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Python中运行命令行_Python - Fatal编程技术网

如何在Python中运行命令行

如何在Python中运行命令行,python,Python,我正在尝试执行 "C:/Program Files/AnsysEM/AnsysEM15.0/Win64/Designer.exe" -runscriptandexit "C:/Python27/simula_SIR_Phyton.py" 这是一个在程序中运行脚本的错误,而我不能这样做。我已成功运行一个文件,如: os.startfile("C:/Users/amrodri.UPVNET/Desktop/Scripts/SIR_europea_script.adsn") 但我没有成功解决另一个

我正在尝试执行

"C:/Program Files/AnsysEM/AnsysEM15.0/Win64/Designer.exe" -runscriptandexit "C:/Python27/simula_SIR_Phyton.py"
这是一个在程序中运行脚本的错误,而我不能这样做。我已成功运行一个文件,如:

os.startfile("C:/Users/amrodri.UPVNET/Desktop/Scripts/SIR_europea_script.adsn")
但我没有成功解决另一个问题。有人能帮忙吗? 除其他外,我尝试过:

os.system("C:/Program Files/AnsysEM/AnsysEM15.0/Win64/Designer.exe" -runscriptandexit "C:/Python27/simula_SIR_Phyton.py") 

os.system
将单个字符串作为参数。为了在Python字符串中包含双引号(而不终止字符串),需要使用反斜杠对其进行转义,如下所示:

os.system("\"C:/Program Files/AnsysEM/AnsysEM15.0/Win64/Designer.exe\" -runscriptandexit \"C:/Python27/simula_SIR_Phyton.py\"") 
或者,也可以使用单引号:

os.system("'C:/Program Files/AnsysEM/AnsysEM15.0/Win64/Designer.exe' -runscriptandexit 'C:/Python27/simula_SIR_Phyton.py'")
请参阅:


(这是特定于Unix的,但如果您使用的是PowerShell之类的工具,也应适用于Windows)

罪魁祸首是
程序
文件
之间的空间。在windows中,当您想要执行一个包含空格的地址时,您需要将其放在“”之间,这将与Python的引用混合在一起。一个简单的解决方案是在Python中使用原始“”。例如:

import os
ansysedt_exe = r'"C:\Program Files\AnsysEM\AnsysEM16.0\Win64\ansysedt.exe" -runscriptandexit C:\automation\test_1.py'
print ansysedt_exe
os.system(ansysedt_exe)
请注意,由于program files文件夹名称中有空格,设计器地址被放置在
“c:\…\designer.exe”
之间,但我们不必对脚本地址执行相同的操作,因为那里没有空格。另外,在R16中,
designer.exe
将与
AnsysEDT.exe
合并