我有一个必须在Windows和Linux上运行的python程序。我通常将一些配置选项存储在一个文件中,位于程序目录的子目录中。
对于Windows,我将其转换为exe并为其创建了一个安装程序。现在我遇到了处理配置文件的问题。
保存配置文件的最佳位置是什么?我已经读过,Windows os.environ['APPDATA']+'myAppName'
是必须使用的路径。这是对的吗?这是标准的吗?它是否适用于所有版本的Windows,至少从XP(至少用英语和西班牙语)?
PD:我对使用ConfigParser不感兴趣。配置文件是我自己的格式,我有工作代码可以从中读取/写入。
答案 0 :(得分:3)
在用户目录中存储设置通常是个好主意。在大多数Unices下,只需在主目录中存储(最好是带点前缀的)文件。在OS X下,您需要在用户的Library文件夹中为应用程序创建一个目录,并将文件存储在那里。在Windows下,APPDATA是为您的应用程序构建目录的好地方。它应该适用于所有Windows本地化,看起来它在Windows XP中也可用。
答案 1 :(得分:2)
在Linux上,通常将配置文件存储在用户主目录中,例如~/.myprogramrc
。在Windows Vista及更高版本中,用户也有一个主目录(/ Users / username),并建议将设置存储在子文件夹(/ Users / useranem / myprogram)中。将设置存储在应用程序文件夹中将生成UAC警告。
在Windows XP上,用户没有主文件夹。有些程序可以选择将配置放在“我的文档”文件夹中,我认为这个文件与其他文件一样好。