2017-08-28 98 views
-3

我是新來的蟒蛇(學習者)。我創建了一個簡單的程序,要求用戶名和密碼,我用getpass()函數來隱藏密碼 。但我想我的程序從文本文件加載用戶名和密碼。如何使用文本文件加載數據並將其分配給變量?

#!/usr/bin/env python 
import getpass 
import os 
print (' ') 
print (' ') 
print ('Please enter username and password in order to continue :') 
print (' ') 
print (' ') 
user = (str(input('   USERNAME : '))) 
usr_list = open("usr.txt", "r") 
for line in usr_list: 
    line.strip() 
    if line == user: 
    password = getpass.getpass("   PASSWORD : ") 
    if password == 'root': 
     os.system("python3 cross.py") 
    else: 
     print ('WRONG! Password') 
     os.system("python3 sec.py") 
    else: 
    print ('WRONG! Username') 
    os.system("python3 sec.py") 

現在,如果我從代碼中刪除文本文件,並打開功能和插入像「用戶1」的字符串if user == "user1":它工作正常。

+0

你想隱藏文本文件的密碼,或只從文本文件加載用戶名和密碼? – Vladyslav

+0

我只是想在txt文件中存儲用戶名和密碼,並希望在代碼中加載這些用戶名和密碼,並通過布爾表達式來檢查它是否正確,它決定了真正的代碼是否會執行 –

回答

0

您可以閱讀文本文件簡單的數據:

with open('your_text_file.txt', 'r') as f: 
    username = f.readline() 
    password = f.readline() 

這意味着你打開文件「your_text_file.txt」讀(「R」作爲第二個參數),我們看第一行,後我們讀下一行

這是工作,如果在不同的線路您的用戶名和密碼寫:

your_text_file.txt:

sume_username 
verylongandstrongpassword 

你可以閱讀有關讀寫文件here

+0

首先,他必須**將**輸入寫入文件。 – Oqhax

+0

他只希望從文件中讀取數據,當然他必須在讀取之前寫入文件,但爲了他的目的,他可以在不使用python的情況下執行此操作 – Vladyslav

+0

我嘗試過,但是每當我加載username.txt時,都會加載文件evan它會打印字符串的數據但布爾表達式不起作用,如(在txt ::: 1 user1 \ n 2..user2中)和x =「user2」。但是當我嘗試如果y ==「user2」:break。它不起作用。 –

相關問題