【问题标题】:Python wrapper for libfprintlibfprint 的 Python 包装器
【发布时间】:2011-09-01 02:53:06
【问题描述】:

在哪里可以找到 libprint 的 Python 包装器?如果这样的包装器不存在,是否可以编写一个?我该如何开始?

【问题讨论】:

  • 这可能会有所帮助 - stackoverflow.com/questions/1942298/…
  • 你是说这个libfprint库吗?
  • @martincho:你做到了吗?我也想做同样的事情。我希望你能帮助我。
  • @Kukku:不幸的是,这是很久以前的事了。我记不太清楚了。看看这个问题的第二个答案。你总是可以用 C++ 编写一个小的可执行文件,然后用 popen 从 Python 调用它。

标签: python wrapper


【解决方案1】:

由于libfprint(我希望它是您正在寻找的项目)正在使用GLib,您可能需要查看GObject Introspection

【讨论】:

    【解决方案2】:

    正如@plaes 的回答中所说,可以将 Python 中的 libfprint(或 libfprint-2)与 GObject Introspection (GI) 一起使用。

    您应该安装了正确的软件包。在 Ubuntu 20.04 中,我安装了python3-gi

    sudo apt install python3-gi
    

    然后你可以在 python3 shell 中使用这样的库:

    import gi
    gi.require_version('FPrint', '2.0')
    from gi.repository import FPrint, GLib
    
    dir(FPrint)
    

    在 dir 结果中,您将看到可用的导出名称。使用参考libfprint API文档:https://fprint.freedesktop.org/libfprint-dev/

    这是一个简单的入门示例:

    ctx = FPrint.Context()
    devices = ctx.get_devices()
    print([dev.get_name() for dev in devices])
    

    请注意,还有一个可用于 fprintd 的 D-Bus API:https://fprint.freedesktop.org/fprintd-dev/ref-dbus.html

    【讨论】:

      【解决方案3】:

      我也为此做了很多搜索,并且在尝试使用 libfprint 时确实学到了很多 C/C++,但有一天,不知从何而来,我看到了 @987654321 @有人在这里发帖瞧瞧:

      https://github.com/luksan/pyfprint

      【讨论】:

      • pyfprint 在实现手指识别方面存在问题(扫描手指与存储指纹库),因此我决定无论如何调整 C API。也许有一天,如果运气好的话,我会为 libfprint 发布一个功能齐全的 Python 模块。
      • 这是经过测试的吗?我也在寻找同样的东西。
      • 最近更新了,@Kukku,时隔多年,现在兼容Python3。更新后我没有测试它,但它看起来很可靠。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多