就我而言,我正在創建一個註冊表,並且需要通過使用CSV將登錄憑據存儲到外部文件中。如何在Python中使用CSV讀取所有行?
我有2個問題:
- 每次登錄(用戶名和密碼),除了第一個不 工作。我第一次登錄「14JeoJun」的用戶名和「海鷗」 作品,但下一個「13ParJim」的用戶名和「excuseme」 密碼不對,還有休息之後。我認爲這是因爲它沒有讀取所有的行。
它不會循環3次代碼,然後關閉。它會永遠循環它,如果你一直搞錯了,即使登錄憑證不是第一個但是是正確的。如果第一個登錄憑證是正確的,則停止循環並退出。我認爲這是因爲上面的第一個問題。
with open("login_credential.txt","r") as login_credential: for x in range (0,2): inputted_username = input("Please enter your username - ") inputted_password = input("Please enter your password - ") login_credentialReader = csv.DictReader(login_credential) for lines in login_credentialReader: if lines["username"].lower() == inputted_username and lines["password"].lower() == inputted_password: print("Welcome...") sys.exit() elif lines["username"].lower() != inputted_username or lines["password"].lower() != inputted_password: x += 1 print("Login credentials are incorrect. Please try again.") login() if x >= 3: print("Too many incorrect tries...") sys.exit
這是在我的外部文件(login_credential.txt):
用戶名,密碼,名,姓,一年
14JeoJun,海鷗,Jungkook,全度妍2014
13ParJim,excuseme,濟民,公園,2013
10KimNam,gotjams,Namjoon,金,2010
每當我先切換,只有第一個會起作用。
讀取csv文件是這樣一個標準問題;你爲什麼不使用熊貓,這將更容易處理數據,因爲你可以以矢量化的方式處理所有這些循環? – Magellan88
@ Magellan88它看起來像是學校作業 – Gnudiff