개인 프로젝트의 간단한 등록/가입 클라이언트 전용 응용 프로그램을 만드는 중. 파일에서 사용자 목록을로드하고 가능한 사용자 이름과 비교하려고합니다. 사용자 이름이 이미 존재하면 프로그램에서 오류를 발생시킵니다.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
사용자리스트가 열릴 수 있도록, 파일에 저장된 추가, 프로그램에 저장되지 않고, 다시 저장된다. 현재 문제는 사용자 목록이 배열이 아닌 문자열로 저장된다는 것입니다. 이 작업을 수행하는 더 좋은 방법이 있습니까? 고맙습니다.
편집 : 솔루션에 대한 사용자 로렌조에 감사합니다. 내 친구들은 당신이 그것을 알아낼 수없는 사람들을 위해 (정말로 간단한) 간단한 복사본을 게시하라고 나에게 말하고 있습니다.
새로운 코드 :
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
이 라인은 상기 문자열 분리해서한다 ('-') seperators 및 배열로 각 분할 부분을 추가 :
userlist = userlist.split('--')
#Is used so that this (in the text file)
Smith123--user1234--stacky
#Becomes (in the program)
userlist = ['Smith123','user1234','stacky']
오랫동안 미안하지만 ... 매우 흥미 롭습니다. Lorenzo에게 다시 한번 감사드립니다. D.
입력 파일의 형식은 무엇입니까? 당신은 단지 한 줄을 읽고 있습니다. –