通过usb使用python进行RFID读取语法错误:无效的令牌

时间:2016-05-28 10:33:15

标签: python rfid

在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条件下。 我不知道问题出在哪里。

1 个答案:

答案 0 :(得分:2)

您应该将读取结果与字符串进行比较,而不是将数字与

进行比较
read_result=='0004520738'
没有引号的

0004520738是一个数字。因为它以0符号开头,所以它被解释为基数为8.基数8的数字显然不能包含数字89

>>> 01234567
342391
>>> 012345678
  File "<stdin>", line 1
    012345678
            ^
SyntaxError: invalid token
>>> 

另外我不明白为什么你读15字节,但比较10字节字符串的结果,那是错误的