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