python - 从逻辑路径获取物理磁盘信息

时间:2013-06-05 13:03:07

标签: python linux windows wmi

我有逻辑路径。例如:- path1 ='C:/ abc',path2 ='E:/ xyz'

我想检查它们是否都位于同一个物理磁盘上。

或者通常我想将逻辑路径映射到关联的物理驱动器。

我也想为linux做同样的事情。 现在我使用“os.stat(path).st_dev”来获取设备ID。但是对于同一物理驱动器上的逻辑磁盘,id似乎不同。所以它并不适合我。是否有更好或直接的解决方案。

1 个答案:

答案 0 :(得分:1)

这解决了我的问题

   key = ''
    for physical_disk in w.Win32_DiskDrive():
    logical_disks = []
    for partition in physical_disk.associators ("Win32_DiskDriveToDiskPartition"):
        for logical_disk in partition.associators ("Win32_LogicalDiskToPartition"):
            key = logical_disk.Description
            if key not in all_logical_disks:
                all_logical_disks[key] = []
            logical_disks.append(logical_disk.Caption)
    if logical_disks:
        all_logical_disks[key].append(logical_disks)

这有助于我得到一个类型的词典:{u'Local Fixed Disk':[[u'C:',u'D:'],[u'E:',u'F:']]在不同的物理磁盘中对逻辑分区进行分组。现在我可以比较逻辑路径是否在同一个列表中。