我有逻辑路径。例如:-path1 = C:/abc, path2 = E:/xyz的
我想检查它们是否都在同一个物理磁盘上。
或者在一般情况下,我想映射一个逻辑路径到关联的物理驱动器。
我也想在linux上做同样的事情。现在我使用"os.stat(path)"。St_dev"获取设备id。但是对于同一物理驱动器上的逻辑磁盘,id似乎是不同的。所以这对我来说并不适用。有没有更好或直接的解决办法。
这就解决了我的问题
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:']]}的字典,它将不同物理磁盘中的逻辑分区分组。现在我可以比较逻辑路径是否在同一个列表中