При попытке сделать простое приложение для регистрации/регистрации только для личного проекта. Я пытаюсь загрузить список пользователей из файла и сравнить их с возможным именем пользователя. Если имя пользователя уже существует, программа сообщит им об ошибке.Чтение списка из файла в python 3
Вот сгущенное клон кода:
u1 = str(input("Input username: "))
t = open("userlistfile","r")
userlist = t.readline()
y = 0
for x in range(0, len(userlist)-1):
if userlist[y] == u1:
print("\n !Error: That username (",u1,") is already taken!")
y += 1
Список пользователя хранится в файле, так что он может открыться, дописывается, и сохраняется опять же, без сохранения в программе. Моя текущая проблема заключается в том, что список пользователей сохраняется как строка, а не массив. Есть лучший способ сделать это? Спасибо.
EDIT: Благодаря пользовательским Лоренсо для решения. Мои друзья рассказывают мне, чтобы я опубликовал быструю (очень простую) копию для вас, ребята, которые не могут понять это.
Новый код:
u1 = str(input("Input username: "))
t = open("userlistfile","r")
userlist = t.read() #Readline() changed to Read()
userlist = userlist.split('--') #This line is added
y = 0
for x in range(0, len(userlist)-1):
if userlist[y] == u1:
print("\n !Error: That username (",u1,") is already taken!")
y += 1
Пример содержимого текстового файла:
smith123--user1234--stacky
Эта линия отделите строку в ('-') и добавьте сепаратора обеспечивают каждый раздвоение часть в массив:
userlist = userlist.split('--')
#Is used so that this (in the text file)
Smith123--user1234--stacky
#Becomes (in the program)
userlist = ['Smith123','user1234','stacky']
Извините за длинный пост ... Нашел это очень интересно. Еще раз спасибо Лоренцо: D.
Каков формат входного файла? Вы читаете только одну строку. –