我做了一個遊戲,我想保存高分。所以我需要一個地方來做到這一點。我選擇將它放在C:\All Programs
目錄中。我的問題是,每個計算機上的目錄名稱都不相同。例如在我的例子中,它是C:/Program Files
(x86)。查找C:程序路徑(不是腳本路徑)
所以我的問題: 有沒有辦法,發現任何一臺計算機上的路徑?
問題就迎刃而解了:
os.getenv( 'PROGRAMFILES')
我做了一個遊戲,我想保存高分。所以我需要一個地方來做到這一點。我選擇將它放在C:\All Programs
目錄中。我的問題是,每個計算機上的目錄名稱都不相同。例如在我的例子中,它是C:/Program Files
(x86)。查找C:程序路徑(不是腳本路徑)
所以我的問題: 有沒有辦法,發現任何一臺計算機上的路徑?
問題就迎刃而解了:
os.getenv( 'PROGRAMFILES')
你可以使用os.getenv
或os.environ
:
>>> import os
>>>> os.getenv('PROGRAMFILES')
'C:\\Program Files'
>>> os.environ['PROGRAMFILES']
'C:\\Program Files'
>>>
請注意,您還可以指定在一個環境變量默認返回值沒有設置:
>>> os.getenv('BADVAR', 'default')
'default'
>>> os.environ.get('BADVAR', 'default')
'default'
>>>
os.getenv('PROGRAMFILES')正是我一直在尋找的東西。謝謝 – 2014-12-03 19:24:08
很高興得到了幫助!請不要忘記通過點擊旁邊的檢查來接受答案。這樣做可以讓人們知道這個問題已經解決了。 – iCodez 2014-12-03 19:30:01
我第二@ iCodez的答案使用os.getenv
從系統環境變量中獲取路徑字符串,但您可能想使用爲APPDATA或LOCALAPPDATA定義的路徑。
Program Files目錄上的Windows權限設置可能會阻止標準用戶帳戶將數據寫入目錄。
我相信APPDATA和LOCALAPPDATA路徑是專爲這樣的使用而設計的。在我的系統上,APPDATA = C:\Users\myname\AppData\Roaming
和LOCALAPPDATA = C:\Users\myname\AppData\Local
。我的用戶帳戶對這兩個目錄具有完全的讀/寫權限。
os.getenv('PROGRAMFILES')是事情。謝謝:D – 2014-12-03 19:24:27
它看起來並不像你做了很多研究。我建議查找'Python相對路徑' – 2014-12-03 17:40:52
我沒有找到任何東西 - 只有那些想找出他們的腳本文件的人。但我想獲得正常的程序文件,如C:/程序文件/ – 2014-12-03 17:48:33
http://stackoverflow.com/questions/918154/relative-paths-in-python在精確搜索的第一個結果,似乎與我很相關。 – 2014-12-03 17:49:58