Python获取系统分区盘符

在网上找了一圈用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()

代码运行效果如下图:

Python获取系统分区盘符_第1张图片


当然这个代码还是有一点局限性的:如果电脑有多块硬盘,只能获取系统分区所在硬盘的分区信息。

你可能感兴趣的:(Python)