第一种方法:在需要将print结果保持到txt文件中的print代码之前执行,即该代码块之前的print都不会输出到文件中
import sys
import os
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)
def flush(self):
pass
path = os.path.abspath(os.path.dirname(__file__)) #获取当前py文件的父目录
type = sys.getfilesystemencoding()
sys.stdout = Logger('a.txt') #输出文件
#以下print内容将会输出到a.txt中
print(path)
print(os.path.dirname(__file__))
print('------------------')
for i in range(5, 10):
print("this is the %d times" % i)
第二种方法:在终端执行
python<你的python文件.py>outputfile.txt
参考链接:
https://blog.csdn.net/lumping/article/details/102892624