在python终端中读取它们的值后,我有两个rfid卡,值为0004518403和000452738。我想给他们的名字像0004518403“javed”和000452738作为“aquib”。因此,当我下次使用该卡时,它不能向我显示该值,但它必须显示我为其定义的名称。
import serial
import time
serial = serial.Serial('/dev/ttyUSB0', baudrate = 9600)
while True:
if serial.inWaiting() > 0:
read_result =serial.read(15)
print("Sleeping 2 seconds")
if(read_result==0004520738):
print "aquib"
elif(read_result==0004518403):
print "javed"
time.sleep(2)
serial.flushInput() # ignore errors, no data
我正在尝试此代码,但它显示错误:
SyntaxError: invalid token
在第一个if条件下。 我不知道问题出在哪里。
答案 0 :(得分:2)
您应该将读取结果与字符串进行比较,而不是将数字与
进行比较read_result=='0004520738'
没有引号的 0004520738是一个数字。因为它以0
符号开头,所以它被解释为基数为8.基数8的数字显然不能包含数字8
和9
。
>>> 01234567
342391
>>> 012345678
File "<stdin>", line 1
012345678
^
SyntaxError: invalid token
>>>
另外我不明白为什么你读15字节,但比较10字节字符串的结果,那是错误的