我试图让登录通过的东西,但尽管所有的努力,它只是不工作。花了2个小时寻找一个解决方案,几乎重写了这个程序5次。需要你们的帮助。是的,我知道fh.seek(0)垃圾邮件是假的,但我仍然是一个新手在这方面
我需要它来比较我的输入登录和传递到那些在文本文件中,如果他们类似于写“访问授权”。如果没有-访问被拒绝
问题是,它一直说,他们是不同的,即使我让程序写两个输入和文本文件信息一起比较。他们很相似。我试图搞乱backspaces,因为我的程序出于某种原因不断地向我的输入添加backspace,所以我向文本文件添加backspaces,但仍然不正确
a = input('Login - ')
b = input('Pass - ')
with open('C:\\Users\\user\\Desktop\\text.txt', 'r') as fh:
login = (fh.readlines()[0])
print(login, a)
fh.seek(0)
passw = (fh.readlines()[1])
print(passw, b)
fh.seek(0)
if (a == login) and (b == passw):
fh.seek(0)
print(fh.readlines()[2])
else:
fh.seek(0)
print(fh.readlines()[3])
文本文件本身(没有点ofc,我只是不知道如何在没有em的情况下制作列表):
readlines
保留每行的终止换行符。如果打印出readlines
的结果,您可以看到:注意
"\n"
s。除非用户也输入这些,否则这两个将不匹配您可以使用字符串^{} 删除它们:
当有疑问时,打印出数据以验证您正在使用的数据
除此之外,我还要提出进一步的建议:
您反复调用
readlines
,这就需要seek
调用,而且速度会比需要的慢另外,作为第一个结果,您将文件打开的时间比您需要的时间长
我把它改成:
或者,使用
lines
上的解包,您可以摆脱凌乱的lines[0]
部分:相关问题 更多 >
编程相关推荐