在for循环中写入文件时遇到问题。我将所有记录的字符附加到列表中。该列表已连接了活动的侦听器,因此正在积极地进行追加。
当我将此列表写入文件时,它的效果很好。但是,我在关闭文件和保存信息时遇到问题。文件关闭后,信息将丢失,并且仅在截止限制之后以列表的最新字符保存文件。
所以基本上,我需要一种在关闭文件之前保存文件的方法,以便它将所有内容写入文件。 “日志”列表将通过on_press(key)函数进行更新,并且该字符将连续出现在“日志”列表中。 当文件写入时,它写得很好。当它关闭时,它关闭并丢失了日志列表中的所有信息,因此我得到了一个空的TXT文件。
def on_press(key):
logging.info(str(key))
logs.append(key)
with open('your_log.txt', 'w') as f:
if len(logs) < 10:
for item in logs:
f.write('%s\n' % item)
else:
if len(logs) > 10:
for item in logs:
f.write('%s\n' % item)
if len(logs) > 10:
break
f.close()