1
我怎樣才能調用兩個文件或一個文件(我不太確定哪一個會更容易些)並關聯兩個字符串,以便程序可以知道用戶是否輸入了正確的計數器字符串if其中一個是輸出。 因此,文件1中的行'n'將等於文件2中的行n。在一個文件中關聯項python
N.B. 我正在創建一個系統(對於挑戰:我對Python很陌生),它檢查密碼是否對關聯的用戶名是正確的,我想知道我是否可以使用文件而不是字典。 我環顧四周,但我找不到它適合我的目的
我怎樣才能調用兩個文件或一個文件(我不太確定哪一個會更容易些)並關聯兩個字符串,以便程序可以知道用戶是否輸入了正確的計數器字符串if其中一個是輸出。 因此,文件1中的行'n'將等於文件2中的行n。在一個文件中關聯項python
N.B. 我正在創建一個系統(對於挑戰:我對Python很陌生),它檢查密碼是否對關聯的用戶名是正確的,我想知道我是否可以使用文件而不是字典。 我環顧四周,但我找不到它適合我的目的
假設這些都是小文件有任何疑問,他們兩個讀入列表行由行:
l1, l2 = [], [] # these will store the lines
for fname, l in [(fname1, l1), (fname2, l2)]: # read in one file at a time
f = open(fname, "r") # opens in read mode
for line in f:
# line = line.strip() if you want to remove head/trailing newlines, tabs, etc
l.append(line)
f.close() # good practice to close explicitly even though GC would get it later
現在您可以輕鬆通過訪問列表來檢查對應關係:
is_match = (l2[i] == l2[i])
如果這對您很重要,這將比創建字典更高效。
P.S.密碼系統不應該以純文本格式存儲密碼。常見的選擇是安全地存儲鹽漬密碼。如果你想嘗試這個,那就需要你進一步閱讀;請參閱:https://nakedsecurity.sophos.com/2013/11/20/serious-security-how-to-store-your-users-passwords-safely/
文件只是一個數據blob。如果你想像字典一樣訪問它,那麼無論如何你都必須將它作爲字典(或類似的映射結構)讀入你的程序中。 – glibdud
你能更精確嗎?你希望文件1中的行'n'與文件2中的行'n'相關聯?或者你是否一般在文件中查找字典的數據存儲?你可以在那裏使用一個csv文件或者一個帶有字典的Python文件。 – L3viathan