#coding:utf-8 """ 写入文件的同时,在屏幕输出 """ import os import sys 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 sys.stdout = Logger("yourlogfilename.txt") # print("Hello world !") # this is should be saved in yourlogfilename.txt cmd="ping baidu.com" #---------------------------- #这种系统的输出,没有打印到logger的txt里,只是在界面输出了。 # os.system(cmd) #---------------------------- # import subprocess # #这种也没有记录到txt # p = subprocess.Popen(cmd, shell=True) # p.wait() # #print(p) #---------------------------- import subprocess #这种有记录到txt里 p = subprocess.Popen(cmd, stdout=subprocess.PIPE, universal_newlines=True) p.wait() result_lines = p.stdout.readlines() for line in result_lines: print(line) #----------------------------