簡體   English   中英

File.write 不允許我添加到文本文件?

[英]File.write will not allow me to add to the textfile?

在我的 class 中,我的講師檢查了代碼以將名稱添加到文本文件並在發生 IOError 時識別它。 我完全復制了他寫的代碼。 它對他有效,但對我無效。 我能想到的唯一區別是他使用的是舊版本的 Python(這是 2017 年的在線視頻,正在做在線課程)。 我目前正在使用 Python 3.8。 這是代碼:

try:
    file = open("namesList.txt", "a")
    file.write("EOF")
except IOError:
    print("IO Error")
    file.close()
else:
    print("EOF written successfully")
    file.close()

我嘗試將代碼從 try 塊中拉出,看看是否可行,但沒有彈出錯誤。 它仍然會在 try 塊中和外部打印“EOF 寫入成功”,但在文本文件中“EOF”不顯示。

我希望我解釋得足夠好,如果我需要澄清其他任何事情,請告訴我。 謝謝!

JessDee,代碼按原樣為我工作。

無論如何,我認為在處理文件時應該考慮使用with語句。

它更干凈,更pythonic。 這樣,您無需擔心關閉文件。 Python 將為您完成。

我不知道它是否會解決您的問題,但這是需要考慮的事情。

這將是您使用with語句的代碼:

try:
    with open("namesList.txt", "a+") as file:
        file.write("EOF")
        print("EOF written successfully")
except IOError:
    print("IO Error")

請注意,我使用了 a+而不是a 這意味着它將以寫/讀模式打開。

由於我們不知道你的問題的確切性質,我不知道它是否會解決它,但它會從現在開始幫助你。 祝你好運 !

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM