脚本在python中,它用于创建保存用户名和密码的文件,我知道整个脚本中存在缺陷,但我想知道: 执行脚本时,用户名和密码将保存到以“,”分隔的文件中。每一行都是新用户名的开头。当调用登录功能时,搜索列表并与输入的用户名进行比较,找到后为肯定:检查密码,这是我的脚本无法正常工作的地方。 为什么我不能在比较2个变量时得到肯定(对于登录功能中的密码),它们应该是相同的。(注意y,是从用户名和密码文件中读取的行,其中第一个元素是用户名和第二个密码)
def function():
username=input('enter username')
password=input('enter password')
file=open('users1','a')
file.write(username + ',' + password +'\n')
def login():
user=input('username')
passw=input('password')
file=open('users','r')
searchline=file.readline()
for line in file:
if user in line:
x=line
y=x.split(',')
print(y[1])
if user == y[1]:
print('access confirmed')
else:
print('pass=', y[1])
function()
login()
答案 0 :(得分:0)
您写入和读取的文件具有不同的名称(users1
和users
)。从文件中读取的每一行都有一个行尾字符(\n
)需要在比较密码之前删除它。
def function():
username = input('enter username')
password = input('enter password')
file = open('users','a')
file.write(username + ',' + password + '\n')
def login():
username = input('username')
password = input('password')
file = open('users','r')
for line in file:
if username in line:
y = line.rstrip().split(',')
print(y[1])
if password == y[1]:
print('access confirmed')
else:
print('password =', y[1])
function()
login()
查看rstrip