发布于2020-02-10 15:44 阅读(857) 评论(0) 点赞(23) 收藏(3)
在实际应用中会用到subprocess的Popen方法执行一些命令,而我们需要通过执行这个命令的来获取输出进行一些信息记录或者分析使用,如果是很快就可以执行完的那还好,有时需要持续跟踪内容的输出,比如大型服务器的内存、CPU、进程监控等,这是一个持续的过程,那么就需要想方设法将输出的内容实时的记录到控制台或者文件中,下面是举例一个ping指令,后面带上 -t 参数获取实时的ping情况,代码如下:
1 # -*- coding:utf-8 -*- 2 3 import subprocess 4 cmd = r"ping www.baidu.com -t" 5 result = subprocess.Popen(cmd, stdout=subprocess.PIPE) # 将输出内容存至缓存中 6 while True: # 将内容持续输出 7 with open("ping.txt", "a", encoding="utf-8") as f: 8 f.write(result.stdout.readline().decode("gbk").strip() + "\n") # 先去除每一行末尾的制表符和换行符,然后再加上换行符,使写入文件中的内容不会有空行
然后在该代码路径下找到ping.txt文件并打开显示如下,挺整齐的:
如果不在代码中第8行增加去除末尾的制表符和换行符的话,得出的结果会是这样的,会出现空行情况
作者:sdhjsdh
链接:https://www.pythonheidong.com/blog/article/230858/03cad6f454d089d273de/
来源:python黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 python黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-1
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!