#python
#python
Вопрос:
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. (Это работает), а затем также сможет его прочитать. который не будет работать.
Почему и как я могу исправить?
Ответ №1:
Вы должны использовать r
вместо a
чтения из файла:
with open("Hotel.txt", "r") as file:
Ответ №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: ")