1

GIO (GLib の I/O ライブラリ) には、キーファイルを使用する GSettings のバックエンドがあります。C から、システム レジストリの代わりにキーファイルを強制的に使用するために、このバックエンドのインスタンスを作成できg_keyfile_settings_backend_new()ますg_settings_new_with_backend()#define G_SETTINGS_ENABLE_BACKENDただし、これを行うには、バックエンドの公開 API が不安定であるため、コードを作成する必要があります。

PyGObject を使用して Python からこれを実行したいと思います (この用語は紛らわしいため、明確にするために、これは 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、運が悪いのでしょうか?

4

0 に答える 0