文件.write不允许我添加到文本文件



在我的课堂上,我的老师复习了向文本文件添加名称的代码,并在出现IOError时识别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块中提取代码,看看是否有效,但没有弹出错误。它仍然会打印";EOF写入成功";而在try块中和它之外,但在文本文件"中;EOF";没有出现。

我希望我解释得足够好,如果我需要澄清其他事情,请告诉我。非常感谢。

JessDee,代码对我来说是有效的。

在任何情况下,我认为在处理文件时都应该考虑使用with语句。

它更干净,更像蟒蛇。这样,您就不必担心关闭文件。Python会帮你做的。

我不知道它是否能解决你的问题,但这是需要考虑的。

这将是您使用语句的代码:

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

请注意,我使用了a+而不是a。这意味着它将以写/读模式打开。

由于我们不知道你问题的确切性质,我不知道它是否能解决它,但从现在起它会帮助你。祝你好运!

最新更新