web-dev-qa-db-ja.com

ユーザーのホームフォルダーの下に、アプリケーションが構成フォルダーと構成ファイルをすばやく作成します。

Quicklyでアプリを作成したいのですが、質問があります:多くのアプリケーションは、現在のユーザーのホームフォルダーに〜/ .configまたは〜/ .application/configの下に構成ファイルを作成し、そのファイルに構成、ユーザー設定を保持します。アプリケーションは、次回の実行にその構成ファイルを使用します。アプリの構成にgsettingsを使用できますが、構成テキストファイルを作成して使用したいです。 ubuntu Quicklyアプリケーションテンプレートでこれを行うにはどうすればよいですか? 〜/ myapp/myapp_lib/Builder.pyおよび〜/ myapp/myapp_lib/myappconfig.pyを確認しましたが、解決策が見つかりませんでした。ありがとう

3
mnrl

テキスト設定ファイルを設定するためのヘルパーはすぐには提供されません。自分で設定する必要があります。 GLibを使用すると、ユーザー構成ディレクトリGLib.get_user_config_dir()を簡単に取得でき、ConfigParserを使用してファイル自体を処理できます。

そのようなもの:

from gi.repository import GLib
import ConfigParser

[....]

    confDir =  os.path.join(GLib.get_user_config_dir(), 'myapp/')
    confFile = os.path.join(confDir + "conf.ini")
    config = ConfigParser.ConfigParser()

    if os.path.isfile(confFile):
        config.read(confFile)
        some_setting = config.get('Some Section', 'some_setting')
    else:
        if not os.path.exists(confDir):
            os.makedirs(confDir)
        config.add_section('Some Section')
        config.set('Some Section', 'some_setting', 'some_value')
        with open(confFile, 'wb') as confFile:
            config.write(confFile)
2
andrewsomething