Python研究学习--37--控制台内容输出到本地文件中

版权声明:本文为博主原创文章,转载本站文章请注明作者和出处,请勿用于任何商业用途。 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格式文本就是相当于单行,量大时该行就会非常非常长。

猜你喜欢

转载自blog.csdn.net/wutianxu123/article/details/83420929