4
A
回答
4
尝试:
os.path.expanduser('~/.programname')
在Linux上,这将返回:
>>> import os
>>> os.path.expanduser('~/.programname')
'/home/user/.programname'
在Windows上,将返回:
>>> import os
>>> os.path.expanduser('~/.programname')
'C:\\Documents and Settings\\user/.programname'
这是一个小丑陋的,所以你”可能会想这样做:
>>> import os
>>> os.path.join(os.path.expanduser('~'), '.programname')
'C:\\Documents and Settings\\user\\.programname'
编辑:对于它的价值,我的Windows机器上的以下应用程序在我Documents and Settings\user
文件夹中创建自己的配置文件夹:
- 的Android
- AgroUML
- 瘸子
- IPython的
编辑2:哇,我只是注意到我把/user/.programname
而不是/home/user/.programname
为linux例子。固定。
0
通常,Windows上的程序的配置和数据文件会进入%APPDATA%目录(或应该),通常位于具有程序名称的子目录中。 “%APPDATA%”当然只是一个映射到当前用户的Application Data文件夹的环境变量。我不知道,如果它存在于Linux的(虽然我认为事实并非如此),所以做跨平台(Windows/Linux的/ MacOS的)...
import os
if 'APPDATA' in os.environ.keys():
envar = 'APPDATA'
else:
envar = 'HOME'
configpath = os.path.join(os.environ[envar], '.programname')
7
在Windows上,它存储在os.environ['APPDATA']
。但是,在Linux上,现在推荐将配置文件存储在os.environ['XDG_CONFIG_HOME']
中,默认为~/.config
。因此,例如,建立在JAB的例子:
if 'APPDATA' in os.environ:
confighome = os.environ['APPDATA']
elif 'XDG_CONFIG_HOME' in os.environ:
confighome = os.environ['XDG_CONFIG_HOME']
else:
confighome = os.path.join(os.environ['HOME'], '.config')
configpath = os.path.join(confighome, 'programname')
的XDG基本目录标准的创建,这样的配置可以全部放在一个地方而不会弄乱点文件的主目录。大多数新的Linux应用程序支持它。
相关问题
- 1. 与操作系统无关的文件系统访问
- 2. 与操作系统无关的API来监视文件系统?
- 3. Linux操作系统
- 4. 在Linux操作系统Ubuntu
- 5. 操作系统加载
- 6. 查找目录一个无文件在Unix/Linux操作系统
- 7. 关于Linux文件系统
- 8. 作为本地系统运行时,WebClient无法下载文件
- 9. 如何加载.BAS文件从大会操作系统
- 10. 在linux mint 32位操作系统中配置xampp
- 11. R:下载不同操作系统的所有依赖关系
- 12. 在远程Linux机器上重新加载操作系统
- 13. Linux文件系统的父子关系
- 14. 文件系统下s3的Tachyon配置
- 15. 下载从MongoDB的文件到本地文件系统
- 16. 无法添加值以测试配置变量“操作系统”
- 17. Linux操作系统(Ubuntu)
- 18. CLI Linux操作系统
- 19. glibc:elf文件操作系统ABI无效
- 20. 无法加载本地存储在系统中的JSON文件
- 21. Linux从python运行shell cmd,无法加载配置文件
- 22. 操作系统版本范围的maven配置文件
- 23. 操作系统内存分配地址
- 24. 命令在Linux操作系统上保存MATLAB中的文件
- 25. 操作系统相关的Maven配置文件总是被激活
- 26. JNLP不下载操作系统资源
- 27. 操作文件系统
- 28. FUSE文件系统操作
- 29. 无法在64位操作系统的VS2015中加载“lpsolve55.dll”
- 30. UIWebView从本地文件系统加载HTML文件
“哪个有点丑陋[。]”虽然工作得很好。 – JAB 2010-07-14 20:39:54