RFID reading using python via usb SyntaxError: invalid token
RFID reading using python via usb SyntaxError: invalid token
我有两张 rfid 卡,在 python 终端读取它们的值后,值分别为 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条件。
我不知道问题出在哪里。
您应该将读取结果与字符串进行比较,而不是数字,例如
read_result=='0004520738'
0004520738 不带引号是一个数字。因为它以0
符号开头,所以它被解释为8进制数。显然8进制数不能包含数字8
和9
。
>>> 01234567
342391
>>> 012345678
File "<stdin>", line 1
012345678
^
SyntaxError: invalid token
>>>
另外我不明白为什么你读取 15 个字节,但是将结果与 10 个字节的字符串进行比较,那是错误的
我有两张 rfid 卡,在 python 终端读取它们的值后,值分别为 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条件。 我不知道问题出在哪里。
您应该将读取结果与字符串进行比较,而不是数字,例如
read_result=='0004520738'
0004520738 不带引号是一个数字。因为它以0
符号开头,所以它被解释为8进制数。显然8进制数不能包含数字8
和9
。
>>> 01234567
342391
>>> 012345678
File "<stdin>", line 1
012345678
^
SyntaxError: invalid token
>>>
另外我不明白为什么你读取 15 个字节,但是将结果与 10 个字节的字符串进行比较,那是错误的