Сохранение предпочтений и данных приложений

Я смотрю на создание некоторых приложений Ubuntu, но найти хорошие ресурсы сложно.

Я использую быстрый инструментарий, но мне очень хотелось бы узнать больше. Как обычно вы сохраняете настройки и настройки приложения в Linux / Ubuntu.

Это так же просто, как создание файла XML и сохранение информации, а затем чтение из указанного файла в загрузочном буфере приложения?

[d3 ] Если кто-то может указать мне в направлении, было бы весьма полезно.

EDIT

Это то, что я написал, ожидая ответа. Наверное, именно то, что предпочитает, но просто закодировано. Вам может показаться полезным:

import ConfigParser, os # We need to be able to store and recal settings

#first try to read the config.cfg file
config = ConfigParser.RawConfigParser()
configFile = 'data/config.cfg'

# We need to set some defaults
monState = False
tueState = False
wedState = False
thurState = False
friState = False
satState = False
sunState = False

# Creating the Config file
def createConfigFile(fileName):
    print "CREATING CONFIG" # not needed, but nice for debugging
    config.add_section('Preferences')
    config.set('Preferences', 'mon', False)
    config.set('Preferences', 'tues', False)
    config.set('Preferences', 'wed', False)
    config.set('Preferences', 'thur', False)
    config.set('Preferences', 'fri', False)
    config.set('Preferences', 'sat', False)
    config.set('Preferences', 'sun', False)
    rewriteConfigFile(filename)

# After reading the config file, we can update configs in memory. 
# But this will save it to file for when the application is started up again. 
def rewriteConfigFile(filename):    
    with open(filename, 'wb') as configfile:
        config.write(configfile)

# Reading the config file 
def readConfigFile(fileName):
    print "READING CONFIG"  # not needed, but nice for debugging
    global monState, tueState, wedState, thurState, friState, satState, sunState
    monState = config.getboolean('Preferences', 'mon')
    tueState = config.getboolean('Preferences', 'tues')
    wedState = config.getboolean('Preferences', 'wed')
    thurState = config.getboolean('Preferences', 'thur')
    friState = config.getboolean('Preferences', 'fri')
    satState = config.getboolean('Preferences', 'sat')
    sunState = config.getboolean('Preferences', 'sun')

# If the config does not exist, create it, then read it. Otherwise simply read it
if not config.read(configFile):    
    createConfigFile(configFile)
    readConfigFile(configFile)    
else:
    readConfigFile(configFile)
1
задан 13 November 2012 в 01:15

2 ответа

Если вы сохраняете данные пользователя, вы обычно сохраняете его под $ HOME / .config / $ YOURAPP / (хотя пользователь может изменить это, поэтому лучше использовать xdg.BaseDirectory.xdg_config_home).

[d2 ] Если вы используете Python, я рекомендую библиотеку xdg.BaseDirectory.xdg_config_home , которая упрощает чтение и запись структурированных файлов конфигурационных файлов.

2
ответ дан 25 May 2018 в 04:38

У меня нет опыта работы с linux. Но аналогичная проблема, с которой я столкнулся во время работы над моим приложением.

В linux каждое приложение генерирует файл, который включает в себя все настройки. Если это собственное приложение для Linux, вы можете легко найти файл в папке «/ etc /».

, пожалуйста, укажите примерное имя приложения для более подробной информации.

Надеюсь, это может помочь вам Найди свой путь.

0
ответ дан 25 May 2018 в 04:38
  • 1
    / etc / для общесистемных настроек, а не для пользовательских настроек. – mhall119 8 November 2012 в 20:49

Другие вопросы по тегам:

Похожие вопросы: