首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >方法identify_finger (pyfrint)返回IndexError

方法identify_finger (pyfrint)返回IndexError
EN

Stack Overflow用户
提问于 2013-12-16 15:07:52
回答 2查看 161关注 0票数 0

我使用python库pyfprint来识别已注册的手指和pymongo进行数据存储。

代码语言:javascript
复制
def identificar_digital():
dev.open()
impressoes = []
lista = funcionarios.find()

for i in range(lista.count()):
    func = lista.next()
    with fs.get(func.get('digital')) as fp_read:
        data = pyfprint.pyf.fp_print_data_from_data(str(fp_read.read()))
        impressoes.append(pyfprint.Fprint(data_ptr = data))

# Corrigir problema no retorno: IndexError: list index out of range
off, fp, fp_img = dev.identify_finger(impressoes)
dev.close()
return fp

回溯:

代码语言:javascript
复制
Traceback (most recent call last):
  File "ponto.py", line 79, in <module>
    fp = identificar_digital()
  File "ponto.py", line 37, in identificar_digital
    off, fp, fp_img = dev.identify_finger(impressoes)
  File "/usr/local/lib/python2.7/dist-packages/pyfprint/pyfprint.py", line 267, in identify_finger
    return (offset, fprints[offset], img)
IndexError: list index out of range
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-09 14:52:14

问题解决了。在当前版本的libfprint中,它是坏的。我使用了0.5.0版本并正常工作

谢谢

票数 0
EN

Stack Overflow用户

发布于 2013-12-16 15:50:28

如果您查看这里的代码,https://github.com/luksan/pyfprint/blob/master/pyfprint/pyfprint.py,您可以准确地看到问题的所在。

fprints是一个指纹列表。offsetpyf.pyfp_identify_finger_img()返回。显然,您正在获得一个pyf.FPVERIY_MATCH,但是返回的偏移量是不正确的。您应该检查正在返回的偏移量。例如,您可以使用Python调试器pdb

如果您在identify_finger函数的顶部看到一个FIXME: error handling注释。该模块的开发人员明确表示,他不处理错误,这就是为什么您会得到未处理的异常。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20614109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档