2011-01-22 42 views

回答

3
>>> import os 
>>> os.environ['SYSTEMDRIVE'] 
'C:' 
+1

這通常會工作,但該環境變量可以很容易地設置爲其他任何東西。至少,你的程序在這種情況下不起作用,最壞的情況是,你有一個安全漏洞。 – 2011-01-22 16:14:29

3

您可以通過ctypes庫使用GetWindowsDirectory獲得Windows文件夾的位置,然後你可以使用os.path.splitdrive獲取驅動器盤符。例如:

import ctypes 
import os 

kernel32 = ctypes.windll.kernel32 
windows_directory = ctypes.create_unicode_buffer(1024) 
if kernel32.GetWindowsDirectoryW(windows_directory, 1024) == 0: 
    # Handle error 
else: 
    windows_drive = os.path.splitdrive(windows_directory)[0] 
+0

不應該是:`windows_drive = os.path.splitdrive(windows_directory.value)[0]` – 2018-01-14 18:47:33

0

您可以使用WINDIR環境變量。

os.environ['WINDIR'] 
0

使用此代碼只得到這封信,沒有別的:

import os 
os.environ['WINDIR'].split(":\\")[0] 

輸出示例:

>>> os.environ [ 'WINDIR']分裂( 「:\\」)[0]

'C'

相關問題