“。目录”在家中可以接受吗?

时间:2012-08-23 17:44:02

标签: python configuration

我想将脚本的数据保存到磁盘,以便在下次运行脚本时加载。为简单起见,使用os.path.expanduser('~')并在那里保存名为“.myscript_data”的目录是个好主意吗?它只需要由脚本读取,并且为了避免用户混乱,我希望它被隐藏。在用户计算机上放置隐藏的“.files”是否可以接受?

4 个答案:

答案 0 :(得分:4)

在Windows上,使用os.environ['APPDATA']的子文件夹;在Linux上,$HOME下的点文件夹是典型的。

您还可以考虑将文件放在~/.config *的子目录中,这是一种新兴的配置文件放置标准。另请参阅XDG basefiles spec

并非完全相关,但有趣:origin of dotfiles

*(编辑)更准确地说,os.environ.get('XDG_CONFIG_HOME', os.path.expanduser('~/.config'))根据XDG规范。

答案 1 :(得分:1)

是的,确实如此。 (我假设你在Linux上,对吗?)
另请参阅this

答案 2 :(得分:1)

是的,这是大多数Unix系统的标准做法。为了提高透明度,首次创建存储位置时打印信息性消息(如Creating directory .dir to store script state)通常是个好主意。

如果您希望存储大量数据,最好与用户确认位置。

这也是应用程序的任何其他配置文件的标准位置。

答案 3 :(得分:1)

在Linux上,我建议os.environ['XDG_CONFIG_HOME']中的文件或目录(无点文件),在大多数情况下是$ HOME / .config目录。然而,$ HOME中的点文件也经常被使用。