Python研究學習--37--控制檯內容輸出到本地檔案中
阿新 • • 發佈:2018-12-17
將控制檯內容輸出到本地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格式文字就是相當於單行,量大時該行就會非常非常長。