2016-07-02 60 views
1

當我遇到問題時,我開始製作一個有趣的程序。問題是我想找到安裝了Windows的驅動器盤符(根驅動器)。我認爲已經有一個功能,但我搜索了一段時間,找不到一個。Python,找到安裝了Windows的驅動器號

我寫了這段代碼來做我剛剛描述的內容。這個代碼是多餘的,我是一個白癡嗎?有可能是一個更簡單的方法...

def root(): 

root = "" 
i = 0 
drives = win32api.GetLogicalDriveStrings() 
drives = drives.split("\000")[:-1] 

for i in range(0, len(drives)): 
    drives[i] = drives[i].replace("\\", "/") 

i = 0 
for i in range(0, len(drives)): 

    if os.path.exists(drives[i] + "Windows"): 
     root = drives[i] 
     break 

return root 

我想有人可以用它來測試或不是什麼。

+0

你可以同時使用'GetSystemDirectory'和'GetWindowsDirectory' - 我想或者是有幫助的。 – enhzflep

回答

2

有一個環境變量windir。在我的電腦中包含「C:\ Windows」。您可以通過os.getenv('WINDIR')讀取此變量(請參閱python 2:os.getenv()python 3:os.getenv())。

+0

需要注意的是,Windows不必安裝到名爲「Windows」的目錄中。您的解決方案是唯一一貫可靠的方法。作爲一個方面說明:在python 3.5上,你也可以使用'os.environ ['windir']'。 – theB

+0

'os.environ'不限於python 3.5。 Ist也存在於Python 2.7中([python 2.7:os.envirion](https://docs.python.org/2/library/os.html#os.environ)) – Humbalan

+0

由於目標是獲取**驅動器安裝了Windows的字母**,則應該使用'systemdrive'環境變量而不是'windir'。 –

相關問題