在网上找了一圈用Python获取系统分区盘符的例子,结果没有找到,所以动手写了一个,代码如下:
# coding = utf-8
import _winreg
def GetPartitionNames():
res = []
deviceID = ''
subKey = 'SYSTEM\MountedDevices'
key = _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, subKey)
i = 0
try:
while True:
name,value,type = _winreg.EnumValue(key,i)
if name.startswith('\\DosDevices\\'):
res.append((name, repr(value)[1:17]))
if name.startswith('\\DosDevices\\C'):
deviceID = repr(value)[1:17]
i+=1
except WindowsError:
pass
res = filter(lambda item : item[1] == deviceID, res)
res = zip(*res)[0]
index = res[0].rindex('\\')
res = sorted([item[index+1:-1] for item in res])
return res
def test():
print GetPartitionNames()
if __name__ == '__main__':
test()
当然这个代码还是有一点局限性的:如果电脑有多块硬盘,只能获取系统分区所在硬盘的分区信息。