![](/img/trans.png)
[英]subprocess.Popen: 'OSError: [Errno 2] No such file or directory' only on Linux
[英]Python, using subprocess.Popen to make linux command line call? I'm getting “[Errno 2] No such file or directory”
我正在嘗試按照我能找到的關於subprocess.Popen的信息,因為我想做一個linux命令行調用..我正在嘗試如下,但我得到錯誤“[Errno 2]沒有這樣的文件或目錄”。 我不是試圖打開一個文件所以我不明白這個錯誤,它工作正常(雖然有其他問題與等待我不想要它的過程完成)當我使用常規操作系統時.popen。
我似乎無法弄清楚如何正確地做到這一點,任何建議表示贊賞。
編輯:我使用的命令是復雜和變量的,將它包含在這里太過於偏離上下文了,我認為只要說代碼在我使用os.popen
時工作就足夠了,而不是在我使用新方法時,所以不,“linux命令行調用”顯然不是我正在使用的調用
subprocess.Popen([r"linux command line call"])
>>> [Errno 2] No such file or directory
import subprocess
proc=subprocess.Popen(['ls','-l']) # <-- Change the command here
proc.communicate()
Popen
期待一個字符串列表。 第一個字符串通常是要運行的程序,后跟其參數。 有時當命令很復雜時,使用shlex.split
為你shlex.split
列表很方便:
import shlex
proc=subprocess.Popen(shlex.split('ls -l'))
proc.communicate()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.