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()
中没有与dir(Gio)
相对应的功能。如果我尝试实例化后端,
>>> Gio.SettingsBackend()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
MemoryError
那么,有人有任何指针吗?或者Python模块可能没有用G_SETTINGS_ENABLE_BACKEND
编译而且我运气不好?