我使用Windows和struggeling得到這個工作的一個.exe文件...運行帶有附加參數
我可以在cmd.exe的執行此:
"C:\Program Files (x86)\Test 123\Test.exe" "H:\Test Test\file.txt" -f "doStuff"
,但是當我嘗試做它在python:
subprocess.call([r'"C:\Program Files (x86)\Test 123\Test.exe" "H:\Test Test\file.txt" -f "doStuff"'])
我得到這個錯誤:
Traceback (most recent call last):
File "testing12.py", line 20, in <module>
subprocess.call([r'"C:\Program Files (x86)\Test 123\Test\Test.exe" "H:\Test Test\Folder\file.txt" -f "doStuff"'])
File "c:\Python27\lib\subprocess.py", line 522, in call
return Popen(*popenargs, **kwargs).wait()
File "c:\Python27\lib\subprocess.py", line 709, in __init__
errread, errwrite)
File "c:\Python27\lib\subprocess.py", line 957, in _execute_child
startupinfo)
WindowsError: [Error 5] Access is denied
如何正確執行它?謝謝。
我相信你需要'''subprocess.call()''''''shell = True'''。但請注意,這會在使用未經消毒的輸入時產生潛在的安全風險 – wnnmaw
shell = True是錯誤的答案。把它作爲一個真正的清單,而不是一個單一的清單是正確的。 –
@CharlesDuffy聖潔的廢話我甚至沒有看到那個單引號。接得好!! –