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中。 (有效),然后也可以阅读。这是行不通的。 为什么以及如何解决?
答案 0 :(得分:5)
您必须使用r
而不是a+
来读取文件:
with open("Hotel.txt", "r") as file:
答案 1 :(得分:2)
您正在使用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: ")