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. 与操作系统无关的API来监视文件系统?
- 2. Linux操作系统
- 3. 查找目录一个无文件在Unix/Linux操作系统
- 4. 作为本地系统运行时,WebClient无法下载文件
- 5. 如何加载.BAS文件从大会操作系统
- 6. R:下载不同操作系统的所有依赖关系
- 7. 在远程Linux机器上重新加载操作系统
- 8. 下载从MongoDB的文件到本地文件系统
- 9. 文件系统下s3的Tachyon配置
- 10. 无法添加值以测试配置变量“操作系统”
- 11. glibc:elf文件操作系统ABI无效
- 12. 无法加载本地存储在系统中的JSON文件
- 13. Linux从python运行shell cmd,无法加载配置文件
- 14. 操作系统版本范围的maven配置文件
- 15. 命令在Linux操作系统上保存MATLAB中的文件
- 16. JNLP不下载操作系统资源
- 17. 无法在64位操作系统的VS2015中加载“lpsolve55.dll”
- 18. UIWebView从本地文件系统加载HTML文件
- 19. 从angularjs的文件系统加载
- 20. 配置MAC捆绑MAC操作系统
- 21. 与操作系统无关的LLVM IR系统调用
- 22. 与Python快速查找文件的操作系统无关方法
- 23. 在哪里包括文件存储 - Ubuntu Linux操作系统,GCC
- 24. 如何关闭在Linux操作系统中的AVD
- 25. 无法使用ResourceBundle从文件系统加载文件
- 26. 操作系统加载程序
- 27. 在Tomcat中,GWT无法从文件系统加载图形
- 28. Linux操作系统Ubuntu C++的.h和.cpp文件
- 29. Jboss从文件加载系统属性
- 30. 从JAR或文件系统加载ImageIcon
“哪个有点丑陋[。]”虽然工作得很好。 – JAB 2010-07-14 20:39:54