我有逻辑路径。例如:- path1 ='C:/ abc',path2 ='E:/ xyz'
我想检查它们是否都位于同一个物理磁盘上。
或者通常我想将逻辑路径映射到关联的物理驱动器。
我也想为linux做同样的事情。 现在我使用“os.stat(path).st_dev”来获取设备ID。但是对于同一物理驱动器上的逻辑磁盘,id似乎不同。所以它并不适合我。是否有更好或直接的解决方案。
答案 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:']]在不同的物理磁盘中对逻辑分区进行分组。现在我可以比较逻辑路径是否在同一个列表中。