0
嘗試爲個人項目製作簡單的註冊/註冊客戶端應用程序。我試圖從文件中加載用戶列表,並將它們與可能的用戶名進行比較。如果用戶名已經存在,程序會給他們一個錯誤。從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
這條線將單獨在字符串( ' - ')分隔符和每個分割部分追加到一個數組:
userlist = userlist.split('--')
#Is used so that this (in the text file)
Smith123--user1234--stacky
#Becomes (in the program)
userlist = ['Smith123','user1234','stacky']
對不起,很長的文章...發現它很有趣。再次感謝洛倫佐:D。
輸入文件的格式是什麼?你只是從中讀取一行。 –