struct.error:'s'的参数必须是一个字符串

时间:2018-01-25 22:33:59

标签: python authentication raspberry-pi3 fingerprint

我正在使用带有指纹扫描仪--TTL(GT-511C3)的覆盆子pi的身份验证系统,我有一个创建模板的功能,并返回以下结果:

enter image description here

我想只提取数据部分,所以我这样做:回复1 ['数据']

但是当我打印它时我得到了这个:

enter image description here

我将此添加为我文件的标题:

reload(sys)  
sys.setdefaultencoding('utf8')

我尝试了一些我在论坛中找到的解决方案,但我找不到一个适合我的解决方案。

我的问题是当我尝试使用名为 IdentifyTemplate 的函数将已创建的模板与扫描仪数据库中已有的模板进行比较,并将模板作为参数时出现以下错误:

Traceback (most recent call last):
File "finger.py", line 169, in 
indetifyResponse = f.IdentifyTemplate(makeTemplateResponse)
File "/home/pi/Desktop/fingerpi/fingerpi/fingerpi.py", line 213, in 
IdentifyTemplate
if self.sendData(template, 498):
File "/home/pi/Desktop/fingerpi/fingerpi/fingerpi.py", line 53, in sendData
packet = encode_data_packet(data, data_len, device_id = self.device_id)
File "/home/pi/Desktop/fingerpi/fingerpi/base.py", line 72, in 
encode_data_packet
data # Data to be sent
struct.error: argument for 's' must be a string

我怀疑问题来自于我正在尝试打印的数据。 任何帮助深表感谢。 我的Python版本是2.7.13

0 个答案:

没有答案