如何解决Python文本文件仅在程序关闭时更新
我具有要求用户输入然后将其写入文件中的功能。但是,程序运行时不会出现在文本文件中。这意味着当我尝试读取我的文本文件时,它为空。如果我关闭程序,所有编写的文本都会显示在文本文件中。
我有主要功能,您可以选择阅读,编写或编辑记事本。选择某些内容后,主函数将调用其他函数。我不确定在这种情况下使用的结构是否正确,还是总体上不好。希望这是有道理的。
def new_note():
file = open('notepad.dat','a')
file.writelines('\n' + input("Write something: "))
file.writelines(":::" + time.strftime("%X %x"))
file.close
main()
def read_file():
file = open('notepad.dat','r')
notes = [(line.strip()).split() for line in file]
print(notes)
file.close
main()
解决方法
尝试一下,它更具有Python风格:
def new_note():
with open('notepad.dat','a') as file:
file.writelines('\n' + input("Write something: "))
file.writelines(":::" + time.strftime("%X %x"))
main()
def read_file():
with open('notepad.dat','r') as file:
notes = [(line.strip()).split() for line in file]
print(notes)
main()
但是,如果您共享main
功能,将会很有帮助。
从我在本地系统上尝试过的内容来看,忽略main()
调用时,上面似乎没有任何问题。
这里的问题是,您尝试同时写入文件时将无法读取文件。另外,一旦file.close被调用,文件将被更新。发布该数据将出现。您可以尝试重组程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。