Location to put user configuration files in windows

前端 未结 3 992
礼貌的吻别
礼貌的吻别 2020-12-15 23:55

I\'m writing a python library that has a per-user configuration file that can be edited by the user of the library. The library also generates logging files. On *nix, the

相关标签:
3条回答
  • 2020-12-16 00:36

    The python appdirs package does a nice job of finding the standard place for application data on various platforms. E.g. for Windows it uses the English XP location:

    C:\Documents and Settings\<User>\Application Data\Local Settings\<AppAuthor>\<AppName>
    

    and on Linux it follows the XDG standard:

     ~/.config/<appname>
    
    0 讨论(0)
  • 2020-12-16 00:39

    On windows the user is not expected to configure an application using editable config files so there is no standard.
    The standard for configuration which is editable using a GUI is the registry.

    If you're using QT (or PyQT?) then you can use QSettings which provide an abstraction layer. On Linux it uses a config file and on windows is writes to the registry.

    0 讨论(0)
  • 2020-12-16 00:59

    %APPDATA% is the right place for these (probably in a subdirectory for your library). Unfortunately a fair number of *nix apps ported to Windows don't respect that and I end up with .gem, .ssh, .VirtualBox, etc., folders cluttering up my home directory and not hidden by default as on *nix.

    You can make it easy even for users that don't know much about the layout of the Windows directory structure by having a menu item (or similar) that opens the configuration file in an editor for them.

    If possible, do provide a GUI front-end to the file, though, even if it's quite a simple one. Windows users will expect a Tools | Options menu item that brings up a dialog box allowing them to set options and will be non-plussed by not having one.

    0 讨论(0)
提交回复
热议问题