GIO(GLib 的 I/O 库)有一个使用密钥文件的 GSettings 后端。从 C 语言中,您可以创建此后端的实例,以强制使用密钥文件而不是系统注册表,g_keyfile_settings_backend_new()
然后使用g_settings_new_with_backend()
. 但是,要做到这一点,你必须#define G_SETTINGS_ENABLE_BACKEND
在你的代码中,因为后端公共 API 是不稳定的。
我想从 Python 中使用 PyGObject 执行此操作(为了清楚起见,因为这个术语令人困惑 - 这是 GTK 3 附带的 GObject 自省库,而不是 PyGTK 和 GTK 2 附带的 PyGObject。)我可以
>>> from gi.repository import Gio
>>> 'SettingsBackend' in dir(Gio)
True
但是,没有对应于g_keyfile_settings_backend_new()
in的函数dir(Gio)
。如果我尝试实例化后端,
>>> Gio.SettingsBackend()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
那么,有人有任何指示吗?或者也许没有编译 Python 模块G_SETTINGS_ENABLE_BACKEND
,我不走运?