将输入与文件信息进行比较时出现问题

南田

我正在尝试通过登录,但是尽管付出了所有努力,但还是行不通。花了2个小时寻找解决方案,并实际重写了该程序5次。需要你们的帮助。是的,我知道fh.seek(0)垃圾邮件是虚假的,但我仍然是新手

我需要它来比较我的输入登录名,并将其传递给文本文件中的登录名,如果它们相似,则可以编写“访问权限”。如果不是,则拒绝访问。

问题是,即使我让程序将输入和文本文件信息都写在一起以进行比较,也一直说它们是不同的。他们是相似的。我试图弄乱退格,因为我的程序出于某种原因一直在向输入中添加退格,因此我向文本文件中添加了退格,但仍然不正确。

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

lines = fh.readlines()
print(lines)

['[email protected]\n', 'asdasd\n', 'Access granted.\n', 'Access denied.']

注意"\n"s。除非用户也输入了这些内容,否则两者将不匹配。

您可以使用string删除它们rstrip

if a == login.rstrip("\n") and b == passw.rstrip("\n"):
    . . .

如有疑问,请打印出数据以验证您使用的数据


最重要的是,我将提出更多建议:

  • readlines一遍又一遍地打电话是必须的seek,而且会比必要的慢。

  • 另外,作为第一个结果,您可以使文件打开的时间长于所需的时间。

我将其更改为:

a = input('Login - ')
b = input('Pass - ')

with open('C:\\Users\\user\\Desktop\\text.txt', 'r') as fh:
    lines = fh.readlines()

# File gets closed before this is reached
login = lines[0]
passw = lines[1]

if a == login.rstrip("\n") and b == passw.rstrip("\n"):
    print(lines[2])
else:
    print(lines[3])

或者,使用上的拆包lines,您可以摆脱混乱的lines[0]部分:

a = input('Login - ')
b = input('Pass - ')

with open('C:\\Users\\user\\Desktop\\text.txt', 'r') as fh:
    lines = fh.readlines()

# Unpack lines into multiple variables
valid_user, valid_pass, granted_msg, error_msg = lines  

if a == valid_user.rstrip("\n") and b == valid_pass.rstrip("\n"):
    print(granted_msg)
else:
    print(error_msg)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将Lisp输入解析为python时出现问题

来自分类Dev

发布组织文件时出现问题

来自分类Dev

将输入字段添加到div时出现问题

来自分类Dev

在进行点云处理时将图像放入阵列时出现问题

来自分类Dev

在VBA调用的dll中将整数与硬编码值进行比较时出现问题

来自分类Dev

Ruby,将字符串与UTF-8字符进行比较时出现问题

来自分类Dev

将注册信息插入Mysql数据库时出现问题

来自分类Dev

将文件发送到API时出现问题

来自分类Dev

将日期信息作为对象的列转换为日期时间时出现问题

来自分类Dev

Python:读写文件时出现问题

来自分类Dev

将JSON信息存储到字典中以在python中循环时出现问题

来自分类Dev

循环比较文件中的当前日期和日期时出现问题

来自分类Dev

使用嵌套循环读取和比较文件时出现问题

来自分类Dev

从.cpp文件读取时出现问题

来自分类Dev

编译Java文件时出现问题

来自分类Dev

读取csv文件时出现问题

来自分类Dev

将输出写入文件时出现问题

来自分类Dev

在进行点云处理时将图像放入阵列时出现问题

来自分类Dev

将信息添加到txt文件-游标出现问题

来自分类Dev

解析json文件时出现问题

来自分类Dev

将CSV文件转换为XLS时出现问题

来自分类Dev

运行jar文件时出现问题

来自分类Dev

将文件发送到API时出现问题

来自分类Dev

上载图片文件时出现问题

来自分类Dev

读取.txt文件时出现问题

来自分类Dev

模拟键盘输入进行处理时出现问题

来自分类Dev

比较日期时间时出现问题

来自分类Dev

用我的 JSON 文件信息填充数组时出现问题

来自分类Dev

在 C++ 中读取文件、搜索和显示信息到结构数组时出现问题

Related 相关文章

热门标签

归档