web-dev-qa-db-fra.com

Rapidement, l'application crée un dossier de configuration et un fichier de configuration dans le dossier d'accueil de l'utilisateur

Je veux créer une application avec Quickly, mais j'ai une question: de nombreuses applications créent des fichiers de configuration sous ~/.config ou ~/.application/config dans le dossier de base de l'utilisateur actuel et conservent les configurations, les paramètres utilisateur dans ces fichiers. Les applications utilisent ces fichiers de configuration pour la prochaine exécution. Je peux utiliser gsettings pour les configurations de l'application, mais je veux créer un fichier texte de configuration et l'utiliser. Comment puis-je faire cela avec le modèle d'application ubuntu Quickly? J'ai jeté un coup d'œil à ~/myapp/myapp_lib/Builder.py et ~/myapp/myapp_lib/myappconfig.py mais je n'ai trouvé aucune solution. Merci

3
mnrl

Rapidement n'offre aucune aide pour configurer un fichier de configuration de texte, vous devrez le faire vous-même. GLib vous donne un moyen facile d’obtenir le répertoire de configuration de l’utilisateur, GLib.get_user_config_dir(), et vous pouvez utiliser ConfigParser pour gérer le fichier lui-même.

Quelque chose comme ça:

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