首页 > 其他 > 详细

cmd非运行完再保存,结果显示&保存同时进行

时间:2019-04-15 13:25:33      阅读:123      评论:0      收藏:0      [点我收藏+]
#coding:utf-8
"""
fps信息获取到文件
"""
import sys
import subprocess

class Logger(object):
    def __init__(self, filename="Default.log"):
        self.terminal = sys.stdout
        self.log = open(filename, "a")

    def write(self, message):
        self.terminal.write(message)
        self.log.write(message)
        self.log.flush()#这个用来将屏幕输出一行,就保存到txt一行,而不是等cmd运行完再保存
    def flush(self):
        pass

def main():
    sys.stdout = Logger("fps_01.txt")

    cmd="adb logcat -s sdktest"
   # 执行cmd命令,并读取返回值,屏幕无输出,文件有记录
    p = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True)
    result_line = p.stdout.readline()

    while result_line:
        print(result_line)
        result_line = p.stdout.readline()

if __name__ == ‘__main__‘:
    main()

 精简,最终版

 适用于边屏幕输出,边保存到文件,且屏幕输出是实时的保存到文件。

cmd命令实时更新,非运行完后整体读取。

cmd非运行完再保存,结果显示&保存同时进行

原文:https://www.cnblogs.com/qiu-1010/p/10710105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!