Python 文本文件仅在程序关闭时更新
Python text file updates only when program is shutdown
我有一个功能,要求用户输入,然后将其写入文件。然而,当程序是 运行 时,它不会出现在文本文件中。这意味着当我试图读取我的文本文件时它是空的。如果我关闭我的程序,所有的书面文本都会出现在文本文件中。
我有主要功能,您可以在其中选择阅读、书写或编辑记事本。在你选择一些东西后,主要功能调用其他功能。我不确定在这种情况下使用这种结构是正确的还是整体上不好。希望这是有道理的。
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()
这里的问题是您无法在尝试同时写入文件的同时读取文件。此外,一旦 file.close 被调用,文件将被更新。 Post 数据会出现。您可以尝试重构您的程序。
试试这个,它更 pythonic:
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()
调用时,上述内容似乎没有引起任何问题。
我有一个功能,要求用户输入,然后将其写入文件。然而,当程序是 运行 时,它不会出现在文本文件中。这意味着当我试图读取我的文本文件时它是空的。如果我关闭我的程序,所有的书面文本都会出现在文本文件中。
我有主要功能,您可以在其中选择阅读、书写或编辑记事本。在你选择一些东西后,主要功能调用其他功能。我不确定在这种情况下使用这种结构是正确的还是整体上不好。希望这是有道理的。
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()
这里的问题是您无法在尝试同时写入文件的同时读取文件。此外,一旦 file.close 被调用,文件将被更新。 Post 数据会出现。您可以尝试重构您的程序。
试试这个,它更 pythonic:
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()
调用时,上述内容似乎没有引起任何问题。