我正在编写一个Python程序来扫描和跟踪几个外部硬盘上的文件。它将文件路径保存为本地文件中的字符串。问题是,有时当我将外部硬盘插入不同的计算机时,字母改变,以及之前存储的路径将是无用的。我想跟踪驱动器并更改本地记录,如果插入相同的硬盘驱动器但字母已更改。现在,我可以想到两种可能性:
我想知道是否存在可用于访问驱动器(驱动器号除外)的HDD(或分区)的任何现有标识?
答案 0 :(得分:1)
使用供应商ID和设备ID识别驱动器。
#!/usr/bin/python
import sys
import usb.core
# find USB devices
dev = usb.core.find(find_all=True)
# loop through devices, printing vendor and product ids in decimal and hex
for cfg in dev:
sys.stdout.write('Decimal VendorID=' + str(cfg.idVendor) + ' & ProductID=' + str(cfg.idProduct) + '\n')
sys.stdout.write('Hexadecimal VendorID=' + hex(cfg.idVendor) + ' & ProductID=' + hex(cfg.idProduct) + '\n\n')
Use PyUSB to Find Vendor and Product IDs for USB Devices
Similare问题:usb device identification
答案 1 :(得分:1)
是的,您可以使用卷序列号来识别硬盘。创建或格式化分区时,Windows会生成卷序列号。
您应该可以通过Python使用以下代码执行此操作,将c
替换为所需的分区。:
import subprocess
subprocess.check_output(["vol", "C:"])