cmd非运行完再保存,结果显示&保存同时进行
#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()
精简,最终版
适用于边屏幕输出,边保存到文件,且屏幕输出是实时的保存到文件。
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。cmd命令实时更新,非运行完后整体读取。
更多精彩

