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
、運が悪いのでしょうか?