Python &引用;。目录";在家里可以吗?
我想将脚本的数据保存到磁盘,以便下次脚本运行时加载。为了简单起见,使用Python &引用;。目录";在家里可以吗?,python,configuration,Python,Configuration,我想将脚本的数据保存到磁盘,以便下次脚本运行时加载。为了简单起见,使用os.path.expanduser(“~”)并在那里保存名为“.myscript\u data”的目录是一个好主意吗?它只需要由脚本读取,为了避免用户的混乱,我希望它被隐藏起来。在用户计算机上放置隐藏的“.files”可以接受吗?是的。(我假设你在linux上,对吗? 另请参见。是的,这是大多数Unix系统的标准做法。为了透明,在第一次创建存储位置时,最好打印一条信息性消息,如Creating directory.dir,以
os.path.expanduser(“~”)
并在那里保存名为“.myscript\u data”的目录是一个好主意吗?它只需要由脚本读取,为了避免用户的混乱,我希望它被隐藏起来。在用户计算机上放置隐藏的“.files”可以接受吗?是的。(我假设你在linux上,对吗?另请参见。是的,这是大多数Unix系统的标准做法。为了透明,在第一次创建存储位置时,最好打印一条信息性消息,如
Creating directory.dir,以存储脚本状态
如果希望存储大量数据,最好与用户确认位置
这也是应用程序的任何其他配置文件的标准位置。在Windows上,使用os.environ['APPDATA']
的子文件夹;在Linux上,$HOME
下的点文件夹是典型的
您也可以考虑将文件放在一个子目录中:“代码>~/.CONFIG*”,这是一种新兴的配置文件放置标准。另见
不完全相关,但很有趣:
*(编辑)更准确地说,os.environ.get('XDG_CONFIG_HOME',os.path.expanduser('~/.CONFIG'))
根据XDG规范。在Linux上,我建议在os.environ['XDG_CONFIG_HOME']
中创建一个文件或目录(无点文件),在大多数情况下是目录$HOME/.CONFIG。然而,$HOME中的点文件也经常被使用。我想。文件不会隐藏在下面windows@XavierCombelle我尝试重命名Windows文件夹“.x”,它说“我必须提供一个文件名”或类似的内容。您仍然可以使用命令行在Windows中创建点文件/点文件夹。只有Windows资源管理器不允许您创建它们。不过,它们不会被隐藏;如果希望隐藏属性不可见(这是像SVN和git这样的VCS对它们的.SVN/.git目录所做的),那么仍然必须应用隐藏属性。我正在Mac OS X上开发,但我希望它对于类似unix的系统是通用的。如果我不必重新编写脚本,Windows支持会很好。。。我期待着这样一个世界:每个人都将配置文件放入~/.config
而不是~
…根据LSB(如果我没记错的话)$HOME/.config/$appname/
应该用于配置文件-$HOME/$appname/
被认为是遗留的。大量的数据不应该放在那里。它只有5KB左右,所以我认为它会很好。我正在努力使脚本具有超可读性,以便人们能够理解它(我将包括一个设置数据存储位置的首选项,显示~/.mydata
作为默认值)。