所以我想让我的程序,当打包成一个.exe,在任何没有安装Python的系统(主要是Windows)上运行时,写一个隐藏的临时文件,在文件系统的某个地方(最好是在系统树的高层,不会有被意外删除的风险),以此来知道它是什么时候第一次运行的,就像图腾。 ... 我所说的“图腾”就像是《盗梦空间》里的银色德雷德尔,莱昂纳多·迪卡普里奥曾经知道他处于什么状态(REM,或现实);因为没有更好的词汇/隐喻。你知道吗
例如,在Windows命令提示符中,可以使用路径变量来获取默认路径,例如用户的主位置:
start cmd
echo "%USERPROFILE%
。。。这将返回类似“C:/Users/Chris”的内容,这将是完美的,因为我会:
a. Sufficient Read/Write privileges
b. In a directory that won't be removed any time soon.
我发现最接近的方法是:
import sys
sys.path
但这将返回一个随机路径列表,其中大部分位于Python默认目录中,我不希望这个“图腾”在树中的位置过高,以防写权限不足,并引发:
IOError: [Errno 13] Permission denied:
因此,我需要一个一致的默认路径,它将有足够的权限读取/写入文件,而不需要外部库。你知道吗
我建议您使用appdirs:
pip install appdirs
这将为您提供一组函数,以确定以平台无关的方式使用的正确路径。你知道吗
appdirs.user_data_dir()
将为您提供用户数据目录appdirs.user_config_dir()
将为您提供用户配置目录appdirs.user_cache_dir()
你明白了所有这些文件都应有足够的权限写入,但要有适当的命名,例如。你的appname.totem您应该发现它不是随机删除的。前缀为。在大多数系统上,将使文件不可见,但在windows上,您可能还需要主动隐藏文件。你知道吗
相关问题 更多 >
编程相关推荐