![](/img/trans.png)
[英]command line args in subprocess.call while executing a python script
[英]python subprocess call failing while same command line call works fine
我正在嘗試使用子進程用Python腳本替換命令行調用:
path_to_executable = r'c:\UK\app\Debug\lll.exe'
x = subprocess.call([path_to_executable, args])
args
是一個看起來像這樣的字符串:
-unemp Base -rate Base -scen_name Base -print_progress 0 -rate_date 1 -hpa Base -dealpath C:\data\ -nthread 4 -deallist C:\config\all.txt -outdir c:\outdir\Base
從命令行運行時,該調用正在運行,但是在子進程中使用相同的參數失敗,並出現以下錯誤:
FileIOException(Unable to open directory C:/.../hist.csv)
(存在csv文件-但這是文件,而不是目錄。)
我的問題:1.它如何通過命令行而不是子進程運行? 2.為什么在命令行上沒有做相同的事情時,為什么要嘗試將csv文件作為目錄打開?
也許子進程無法找到文件/目錄。.確定文件存在並且文件路徑不包含任何特殊字符(例如〜/)嗎?
否則嘗試使用參數shell=True
從子流程文檔 :
subprocess.call(args, *, stdin=None, stdout=None, stderr=None, shell=False)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.