簡體   English   中英

Python,使用subprocess.Popen進行linux命令行調用?我得到“[Errno 2]沒有這樣的文件或目錄”

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM