python 执行命令行 如何既能实时屏显又能获取到输出结果呢?

「已注销」 2018-02-02 01:39:17
目前搜了各种办法,只能等执行完后一次获取输出结果,有没有好的办法呢?

没有返回值:
os.system('ping www.baidu.com')  


有返回值但是是执行完后一次获取,不能实时屏显:

p = subprocess.Popen('ping www.baidu.com',shell=True,stdout=subprocess.PIPE)
out,err = p.communicate()
for line in out.splitlines():
print(line)
...全文
3106 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
将心ONE 2020-11-14
  • 打赏
  • 举报
回复
楼主你好 请问你知道怎么去真正的实时获取吗?并不是等待着一条命令执行完毕再打印出信息,就好比我写os.popen("python") 然后打印出这个 可是呢 因为python命令是在执行的 所以无法获取信息 最后把python命令行用exit()退出 就会打印出一个空 然而我想实现的是mitmproxy定制一个脚本 给他写一个gui 输出的内容读取到控制台 可是这个我还无法实现
DDragon321 2019-12-12
  • 打赏
  • 举报
回复
我刚刚试了一下,可以这样,需要输出的程序开一个线程运行同时将命令行结果保存到日志文件,然后在主进程中使用open和read函数打开日志文件就可以实时的读取结果。因为通过>>这种方式将命令行写入文件是实时的写入所以可以实时读取并且能够成功。试了很多方法就这个稍微看起来可行一点了。
尐东东 2019-09-26
  • 打赏
  • 举报
回复
原博 : https://blog.csdn.net/xiaoxianerqq/article/details/78844077
尐东东 2019-09-26
  • 打赏
  • 举报
回复
在别的博客看到的方法,我用的 python3

import subprocess
p = subprocess.Popen('ping www.baidu.com',shell=True,stdout=subprocess.PIPE)

for i in iter(p.stdout.readline,'b'):
    if not i:
        break
    print(i.decode('gbk'), end='')
易然也 2019-09-24
  • 打赏
  • 举报
回复
你是要爬虫www.baidu.com?
那你就
import requests

def test () :
a = requests.get(http://www.baidu.com)

print ("显示:"a)
黄哥Python培训 2019-09-05
  • 打赏
  • 举报
回复
Linux 系统下用 tee 命令 请看图片
ppchaos 2018-02-05
  • 打赏
  • 举报
回复
ping -c -1 www.baidu.com
「已注销」 2018-02-02
  • 打赏
  • 举报
回复
引用 6 楼 seakingx 的回复:
想显示打开网页的同时,还能获取HTML源码? 如果是这样,用 selenium 的 webdriver 即可。
不是的,就是命令行 例如"ping www.baidu.com" 实时屏显输出结果,然后保存。
陈年椰子 2018-02-02
  • 打赏
  • 举报
回复
想显示打开网页的同时,还能获取HTML源码? 如果是这样,用 selenium 的 webdriver 即可。
「已注销」 2018-02-02
  • 打赏
  • 举报
回复
引用 4 楼 oyljerry 的回复:
除非命令是逐步返回结果。不让就只能显示命令返回的结果了
是逐行的,比如ping
oyljerry 2018-02-02
  • 打赏
  • 举报
回复
除非命令是逐步返回结果。不让就只能显示命令返回的结果了
虾米馅煎包 2018-02-02
  • 打赏
  • 举报
回复
用logging库 可以打印debug不知道能不能满足你的需求, 反正logging是打印信息 必用良品!
「已注销」 2018-02-02
  • 打赏
  • 举报
回复
引用 1 楼 tianfang 的回复:
两种方法各执行一次
您好逗
tianfang 2018-02-02
  • 打赏
  • 举报
回复
两种方法各执行一次

37,718

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧