信息未以追加模式写入文件



我是python的初学者,我的讲师希望我们从头开始制作一个程序,特别是用硬代码。

它以前运行得很好,但当我早些时候尝试测试程序时,程序的这一部分开始运行错误。它说它不能在关闭的文件上运行代码。有人能帮忙指出问题出在哪里吗?

非常感谢

def temporder():
allmenu = open("allmenu.txt","r") 
temporder = open("neworder.txt","a") 
entry = str.upper(input("Please enter a valid product code: "))
for lines in allmenu: 
code,price = lines.split(",") 
if (entry in code): 
temporder.write("n" + code + "," + price)
temporder.close() 
allmenu.close()

缩进最后两行temporder.close()allmenu.close(),这意味着它第一次执行if条件时,会关闭这两个文件。将最后2行放在与for循环相同的缩进级别中,它应该可以正常工作。

您需要将文件关闭语句(file.close()(移动到for循环之外。您的代码检查allmenu文件的第一行,然后关闭该文件。

最新更新