【发布时间】:2017-11-08 20:29:15
【问题描述】:
我正在使用 RFID 阅读器扫描多个 RFID 标签。读数被放入列表中。我正在尝试检查标签是否在阅读中。使用“if in”方法对我不起作用。
import mercury
import time
reader = mercury.Reader("tmr:///dev/ttyUSB0")
reader.set_region("EU3")
reader.set_read_plan([1], "GEN2")
tag1 = 'E2004005730702602190360B'
tag2 = 'E20040057307026421903619'
while True:
a = reader.read()
print (a)
print(type(a))
if tag1 in a:
print('tag1')
time.sleep(0.2)
break
if tag2 in a:
print('tag2')
time.sleep(0.2)
break
time.sleep(0.2)
我的终端输出是:
['E20040057307026421903619', 'E2004005730702602190360B']
<type 'list'>
所以当tag1或tag2在a时,if条件不会被执行。
我似乎无法让它进入 if 条件。有什么建议吗?
【问题讨论】:
-
什么是阅读器?你也可以打印
type(a)吗?并粘贴控制台的输出作为文本而不是作为图像(这样我们可以尝试重现) -
感谢您的编辑,很有用,但您能否添加
print(a[0],type(a[0])来确定items 的类型以及它们是什么? (对不起,我应该早点问)
标签: python list if-statement