2017-08-28 64 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。它不起作用。 –

相关问题