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