Python:如何得到Popen的输出?

左心房为你撑大大i 提交于 2020-01-18 00:34:09

最近在用subprocess中的Popen做个磁盘监控小程序,但是在使用ps = Popen("df -h", shell=True, stdout=PIPE, stderr=PIPE)之后,再使用output_lines = ps.stdout.readlines()的时候,output_lines总是内容为空,有哪位知道是什么原因么?

btw:我是在windows下设计这个程序的

 

代码
#!/usr/bin/env python
#
coding=utf-8
from subprocess import Popen, PIPE
import re

def disk_space(pattern="2[0-9]%", message="CAPACITY WARNING"):
    
## take shell command output
    ps = Popen("df -h", shell=True, stdout=PIPE, stderr=PIPE)
    output_lines 
= ps.stdout.readlines()
    
for line in output_lines:
        line 
= line.strip()
        
if re.search(pattern, line):
            
print "%s %s" %(message, line)
            
if __name__ == '__main__':
    disk_space


 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!