![](/img/trans.png)
[英]python subprocess.call() doesn't work with multiline shell commands
[英]Python subprocess.call doesn't work without shell=True
我正在使用Python在內部調用cscope
。 為此,我使用subprocess.call
。
問題是沒有shell=True
它不能工作
以下代碼按預期工作:
import subprocess
subprocess.call("cscope -d -L0'temp'", shell=True)
但是以下沒有,它返回0
狀態代碼,但沒有輸出
import subprocess
subprocess.call(["cscope", "-d", "-L0'temp'"])
關於為什么會發生這種情況的任何想法?
不引用參數,當shell = False時,args直接傳遞給進程而不使用shell:
subprocess.call(["cscope", "-d", "-L0","temp"])
你應該使用check_call:
from subprocess import check_call
check_call(["cscope", "-d", "-L0", "temp"])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.