如何解决尝试在涉及RFID的python中进行简单比较无法成功比较
我在树莓派上连接了一个RFID标签,我在RFID标签上写了一个测试字符串,字母为'ab'。
def read():
reader = SimpleMFRC522()
#stores id number and a 'password' (ab is stored as text)
try:
id,text = reader.read()
finally:
GPIO.cleanup()
return text
if __name__ == '__main__':
password = read()
print(password)
if password == 'ab':
print("password: "+password)
else:
print("Incorrect tag.")
我跑步时得到:
ab
Incorrect tag.
我应该得到
password: ab
在我的程序中,我有一个read()函数,该函数仅返回标签“ ab”上的文本。
主要,我将分配给read()的变量与字符串'ab'进行比较,它应该只打印
password: ab
相反,它被视为不正确,并转到else语句。
有人知道这可能是什么吗?
我所做的事情:
-
我尝试通过将str()包裹在密码和'ab'上来强制将它们作为字符串,即使它们已经是字符串了。
-
我已经检查了密码类型。这是一个字符串。
print(type(password))
我也将声明更改为
if True:
仅查看是否可以执行print语句。是的。
考虑到我读取的标签中没有空格,我不确定该错误将是什么,它实际上只是字母'ab'
解决方法
您必须使用 strip()
函数。
if(password.strip() == "ab"):
它必须工作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。