为了账号安全,请及时绑定邮箱和手机立即绑定

Python代码不打印txt的内容?

Python代码不打印txt的内容?

至尊宝的传说 2021-11-30 15:49:45
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贡献1853条经验 获得超6个赞

您必须使用r而不是a+从文件中读取:

with open("Hotel.txt", "r") as file:


查看完整回答
反对 回复 2021-11-30
?
江户川乱折腾

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: ")


查看完整回答
反对 回复 2021-11-30
  • 2 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信