libfprint的Python封装

4 投票
3 回答
2091 浏览
提问于 2025-04-17 01:00

我在哪里可以找到一个用于libprint的Python封装?如果没有这样的封装,我能自己写一个吗?我该如何开始呢?

3 个回答

2

正如@plaes的回答所说,可以通过GObject Introspection (GI) 在Python中使用libfprint(或libfprint-2)。

你需要安装正确的软件包。在Ubuntu 20.04上,我安装了 python3-gi

sudo apt install python3-gi

然后你可以在python3的命令行中这样使用这个库:

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

dir(FPrint)

在结果目录中,你会看到可用的导出名称。有关使用方法,请参考libfprint的API文档:https://fprint.freedesktop.org/libfprint-dev/

这里有一个简单的例子来帮助你入门:

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

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

5

我也为这个问题搜索了很多资料,在尝试使用 libfprint 的过程中学到了很多C/C++的知识。不过有一天,我偶然看到一个人在这里发的问题,然后就发现了这个:

https://github.com/luksan/pyfprint

6

因为libfprint(我希望这是你想要的项目)使用了GLib,你可能需要了解一下GObject Introspection

撰写回答