加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

如何通过python脚本立即打印shell的输出

发布时间:2020-12-16 21:32:45 所属栏目:Python 来源:网络整理
导读:我用 python在shell中执行了一些命令.我需要在shell中显示命令响应.但命令将执行10秒.我需要等.如何立即显示命令的回显.以下是我的代码 cmd = "commands"output = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)print(output.stdout.read()) 我需
我用 python在shell中执行了一些命令.我需要在shell中显示命令响应.但命令将执行10秒.我需要等.如何立即显示命令的回显.以下是我的代码
cmd = "commands"
output = subprocess.Popen(cmd,shell=True,stdout=subprocess.PIPE)
print(output.stdout.read())

我需要使用命令的输出.所以我不能使用subprocess.call

解决方法

从循环中的output.stdout读取:
cmd = "commands"
output = subprocess.Popen(cmd,stdout=subprocess.PIPE)
for line in output.stdout:
    print(line)

编辑:似乎然后在python2中这仍然不适用于evey案例,但这将:

for line in iter(output.stdout.readline,''):
    print(line)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读