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