elif menuOption == "2": with open("Hotel.txt", "a+") as file: print (file.read())我尝试了很多不同的方法,但我的 python 文件只是拒绝打印 txt 内容。它正在写入文件,但选项 2 不会读取它。if menuOption == "1": print("Please Type Your Guests Name.") data1 = (input() + "\n") for i in range (2,1000): file = open("hotel.txt", "a") file.write(data1) print("Please Write your Guests Room") data2 = (input("\n") + "\n") file.write(data2) data3 = random.randint(1, 999999) file.write(str (data3)) print("Guest Added - Enjoy Your Stay.") print("Guest Name is:", data1) print("Guest Room Number Is:", data2) print("Your Key Code Is:", data3)我希望将上述所有信息添加到 TXT。(那有效)然后也可以阅读它。这是行不通的。为什么以及如何修复?
2 回答
江户川乱折腾
TA贡献1851条经验 获得超5个赞
您正在使用a+用于附加到文件的模式,您需要r用于阅读。
其次我注意到这一点
for i in range (2,1000):
file = open("hotel.txt", "a")
您正在为循环的每次迭代打开一个新的文件处理程序。请只打开文件一次,然后在下面执行您需要的任何操作。
with open("hotel.txt", "a") as fh:
do your processing here...
这具有自动为您关闭文件处理程序的额外优势,否则您需要自己关闭文件处理程序,使用fh.close()您在代码中未执行的操作。
您使用的方式也略有不同input,您不需要显式打印消息,您可以input像这样执行此操作。
name = input("Enter your name: ")
添加回答
举报
0/150
提交
取消