Python代码不打印txt的内容?

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。(那有效)然后也可以阅读它。这是行不通的。为什么以及如何修复?


至尊宝的传说
浏览 139回答 2
2回答

墨色风雨

您必须使用r而不是a+从文件中读取:with open("Hotel.txt", "r") as file:

江户川乱折腾

您正在使用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: ")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python