Я пытаюсь сохранить все входные данные, введенные пользователем, в текстовый файл с использованием Python.Я хочу убедиться, что все введенные данные сохранены в файле до тех пор, пока я полностью не выйду из программы, в этом случае, пока я не нажму «ввод», чтобы остановить список.Мне также нужно проверить имена входных данных и посмотреть, соответствует ли оно какой-либо из предыдущих записей.
Проблема с моей программой сейчас заключается в том, что текстовый файл обновляет последние введенные имена, когда я выхожу из кода.Мне нужна моя программа, чтобы сохранить все эти имена в списке, пока программа не закончилась, потому что я должен сделать так, чтобы не было дубликатов.Я должен предупредить пользователя, что имя уже существует, и мне тоже нужна помощь.Я сделал отдельную функцию для создания и записи текстовых файлов из моих входных данных в моем коде ниже, но я также заметил, что могу реализовать это в функции get_people ().Я не уверен, что лучшая стратегия - создать для нее новую функцию или нет.Определенно что-то не так с записью файлов.
Текстовый файл должен иметь следующий формат:
Taylor
Selena
Martha
Chris
Вот мой код ниже:
def get_people():
print("List names or <enter> to exit")
while True:
try:
user_input = input("Name: ")
if len(user_input) > 25:
raise ValueError
elif user_input == '':
return None
else:
input_file = 'listofnames.txt'
with open(input_file, 'a') as file:
file.write(user_input + '\n')
return user_input
except ValueError:
print("ValueError! ")
# def name_in_file(user_input):
# input_file = 'listofnames.txt'
# with open(input_file, 'w') as file:
# file.write(user_input + '\n')
# return user_input
def main():
while True:
try:
user_input = get_people()
# name_in_file(user_input)
if user_input == None:
break
except ValueError:
print("ValueError! ")
main()