cmd非運行完再保存,結果顯示&保存同時進行
阿新 • • 發佈:2019-04-15
filename ive class txt default read 執行cmd test lines
#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非運行完再保存,結果顯示&保存同時進行