我是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文件的第一行,然后关闭该文件。