Skip to main content
 首页 » 编程设计

Python subprocess.check_output,带管道

2025年05月04日33haluo1

我正在尝试获取

的输出
dmesg | grep -i 'bios' 

我已经试过了:

dmsg = subprocess.check_output("dmesg | grep -i 'bios'").decode('utf-8') 

,但我遇到了一个错误。

如何获得完整的 sdtoutput 消息?

请您参考如下方法:

import subprocess 
 
p1 = subprocess.Popen(['dmesg'], stdout=subprocess.PIPE) 
 
p2 = subprocess.Popen(['grep', '-i', 'bios'], stdin=p1.stdout, stdout=subprocess.PIPE) 
 
p1.stdout.close() 
out, err = p2.communicate() 
 
print(out)