版权声明:本文为博主原创文章,转载本站文章请注明作者和出处,请勿用于任何商业用途。 https://blog.csdn.net/wutianxu123/article/details/83420929
将控制台内容输出到本地txt文件中,代码如下:
(在本系列第33篇中有用到)
class Output(object):
# 控制台内容生成txt报告
def __init__(self, check_filename = "default.log"):
self.terminal = sys.stdout
self.log = open(check_filename, "w")
def write(self, message):
self.terminal.write(message)
self.log.write(message)
def flush(self): # 即时更新
pass
Output('%s.txt' % name)
这段代码来源于网络,用着感觉还是很爽的。
but!它有一个隐藏很深的超级bug!即当一行内容超级长的时候,长到什么程度呢?21寸显示器,全屏txt文本,需要大约1.2屏幕。这时候这个bug就体现了,文件内容显示不全,存在长度限制,到某一点就自动没有了。
也就是说:用该方法时,单行文本存在长度限制……
于是只能换一个方法:
result = "要写入到文件中到东西"
with open('name.txt', "w") as f:
f.write(str(result))
f.close()
该方法不会有单行长度限制。
比较适用于JSON格式文本,因为JSON格式文本就是相当于单行,量大时该行就会非常非常长。