我有要求用戶輸入然后將其寫入文件的功能。但是,當程序運行時,它不會出現在文本文件中。這意味著當我試圖讀取我的文本文件時它是空的。如果我關閉我的程序,所有的書面文本都會出現在文本文件中。我有主要功能,您可以在其中選擇閱讀、編寫或編輯記事本。在你選擇一些東西后,主要功能調用其他功能。我不確定在這種情況下使用這種結構是正確的還是整體上不好。希望這是有道理的。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()
2 回答

紅顏莎娜
TA貢獻1842條經驗 獲得超13個贊
試試這個,它更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()。

泛舟湖上清波郎朗
TA貢獻1818條經驗 獲得超3個贊
這里的問題是您無法在嘗試同時寫入文件時讀取文件。此外,一旦 file.close 被調用,文件將被更新。發布數據將出現。您可以嘗試重構您的程序。
添加回答
舉報
0/150
提交
取消