Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.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 subprocess.call()函数时出现程序错误_Python_Subprocess - Fatal编程技术网

使用python subprocess.call()函数时出现程序错误

使用python subprocess.call()函数时出现程序错误,python,subprocess,Python,Subprocess,当我在python脚本中使用subprocess.call()函数时,我试图打开一个程序,它会打开该程序,但由于某些原因,该程序不允许这样做,并抛出一个“未处理的异常”错误,我知道问题可能出在程序中,因此可能有任何其他命令会打开程序,填写一些字段,然后按“提交” 谢谢 编辑:我没有要发布的代码 str = 'd:\Softwares\X.exe' subprocess.call(str) 我也尝试过: subprocess.call(str,shell=True) 试着用同样的方法调用另一个

当我在python脚本中使用subprocess.call()函数时,我试图打开一个程序,它会打开该程序,但由于某些原因,该程序不允许这样做,并抛出一个“未处理的异常”错误,我知道问题可能出在程序中,因此可能有任何其他命令会打开程序,填写一些字段,然后按“提交”

谢谢

编辑:我没有要发布的代码

str = 'd:\Softwares\X.exe'
subprocess.call(str)
我也尝试过:

subprocess.call(str,shell=True)

试着用同样的方法调用另一个程序。如果问题仍然存在,则问题出在代码上。如果它消失了,问题在于程序


我认为更改为“D:/Softwares/X.exe”或其他字符串格式会有所帮助,因为“\”字符是转义字符。。。例如,用于表示新行“\n”。

如果使用正斜杠(反斜杠是Python中的转义符号),可能会起作用。如果没有,请这样写第一行:

str = r'd:\Softwares\X.exe'

r告诉Python您正在创建一个原始字符串,因此它将忽略转义符号。更多信息请访问:

粘贴您试图调用的程序的相关代码。只需代码样式-不要调用名称变量
str
,然后编写
'D:\\Softwares\\X.exe'
r'D:\Softwares\X.exe'
'D:/Softwares/X.exe'
。应该警告您,subprocess.call不允许您在其他程序中执行窗口级操作,如填写字段和按下按钮等。这是一个完全不同的问题。