1

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

我想检查它们是否都驻留在同一个物理磁盘上。

或者一般来说,我想将逻辑路径映射到关联的物理驱动器。

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

4

1 回答 1

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:']]} 分组不同物理磁盘中的逻辑分区。现在我可以比较逻辑路径是否位于同一个列表中。

于 2013-06-19T14:59:02.523 回答