Re: Best way to store config or preferences in a multi-platform way.

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • M.-A. Lemburg

    Re: Best way to store config or preferences in a multi-platform way.

    On 2008-05-01 13:37, Lance Gamet wrote:
    Hi, python beginner starting a new project here.
    >
    This project will store most of its actual data in a shared-database, but
    I have a small amount of user specific data that I need to be stored like
    configuration or preferences for example, the list of databases that the
    program should connect to.
    >
    On Unix this might be a .file, on windows this could be in the registry,
    or an ini file or an xml file in ProgramData or AppData or something.
    >
    Is there a pythony way to store such config data, perhaps there is
    already a standard python package for such a purpose?
    I don't think this is a Python question, but more a platform
    question. Users on different platforms will expect configuration
    data in different places. It's usually best to stick to the platform
    conventions.

    Python has modules available for accessing INI-files, XML-files
    and also for the Windows registry, so that part is easy.
    My app uses Qt, and Qt has its method of doing it (QSettings), but for
    architectural reasons I don't want to use it.
    >
    Could sqlite be an option perhaps? I am still undecided if the ability
    for the user to edit the file independently of the program is a good or
    bad thing.
    If the user is meant to change the data, then you should make this
    easy for the user. Putting such data into SQLite will not satisfy that
    requirement :-)

    If you don't have a GUI tool for the user to change config settings,
    then it's probably best to put the configuration into a file that's
    easy to edit, e.g. an INI file.

    Here's a nice module that supports both reading and writing
    INI files:



    --
    Marc-Andre Lemburg
    eGenix.com

    Professional Python Services directly from the Source (#1, May 01 2008)
    >>Python/Zope Consulting and Support ... http://www.egenix.com/
    >>mxODBC.Zope.D atabase.Adapter ... http://zope.egenix.com/
    >>mxODBC, mxDateTime, mxTextTools ... http://python.egenix.com/
    _______________ _______________ _______________ _______________ ____________

    :::: Try mxODBC.Zope.DA for Windows,Linux,S olaris,MacOSX for free ! ::::


    eGenix.com Software, Skills and Services GmbH Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
    Registered at Amtsgericht Duesseldorf: HRB 46611
Working...