#python #function
Вопрос:
Я хочу написать программу напоминаний с использованием python. Но по какой-то причине, когда я читаю файл, он ничего не возвращает. Вот мой код,
print ("(1)Add something to listn(2)Read my lists")
option = input ("Please select an option: ")
myFile = open ("Reminder.txt", "a ")
if option == '1':
ask = input ("What do you want to remember: ")
myFile.write (ask "n")
myFile.close()
print ("Successfully added in database")
elif option == '2':
AllFileContents = myFile.read()
print (AllFileContents)
else:
print ("Please select an existing option!")
И это результат, который я получаю после добавления чего-либо в список(я использую microsoft visual studio):
https://i.stack.imgur.com/DuS9W.png
Пожалуйста, помогите.
Комментарии:
1. Вы открываетесь в
a
режиме… курсор будет находиться в конце файла2. Похоже, вы должны открыть файл после проверки
option
от пользователя.4. Итак, что мне делать…?
Ответ №1:
Попробуйте использовать seek
—
print ("(1)Add something to listn(2)Read my lists")
option = input ("Please select an option: ")
myFile = open ("Reminder.txt", "a ")
if option == '1':
ask = input ("What do you want to remember: ")
myFile.write (ask "n")
myFile.close()
print ("Successfully added in database")
elif option == '2':
myFile.seek(0)
AllFileContents = myFile.read()
print (AllFileContents)
else:
print ("Please select an existing option!")
Ссылка — поиск
seek(0)
возвращает курсор к первой части файла , чтобы вы могли прочитать файл с самого начала (в основном весь файл).
Ответ №2:
Используйте функцию open() без режима . Режим помещает курсор в конец файла.
Комментарии:
1. Тогда в каком режиме я должен поставить…?
2. Я получаю сообщение об ошибке, недоступное для записи
3. Поместите
myFile = open (...)
вif...else...
операторы, т. е. поместитеmyFile = open ("Reminder.txt", "a ")
вif option == '1':
оператор, и поместитеmyFile = open ("Reminder.txt", "r")
("r"
средство, открытое в режиме «чтение») вelif option == '2':
оператор.