Python 中的 U 盘序列号



我正在尝试在Linux上使用Python获取USB闪存驱动器的序列号(或任何基于硬件的唯一标识符)。 我从我在这个SO问题中找到的食谱开始。

该链接中的代码非常适合固定硬盘驱动器。 例如,在我的内部笔记本电脑 SSD 上,它返回:

$ sudo Python clusterTool.py/dev/sda硬盘型号:三星固态硬盘PM810 2.5" 7mm 256GB  序列号: S0NUNYAB503012

摇摆!

但是,当我在闪存棒上运行它时,我从 ioctl 收到一个错误,该错误被不优雅地连贯到以下 python 跟踪:

$ sudo Python clusterTool.py/dev/sdb回溯(最近一次调用):  文件 "clusterTool.py",第 21 行,在    buf = fcntl.ioctl(fd, HDIO_GET_IDENTITY, " " * sizeof_hd_driveid)IOError: [Errno 22] 无效参数

文件表明它们是同一种野兽:

$ file/dev/sd{a,b}/dev/sda:块特殊/dev/sdb: block special

我不确定它们有何不同,但它们显然在某个地方有所不同。 这些设备之间有什么区别,有什么方法可以统一获取它们的标识符吗?

这可能有助于 http://www.roman10.net/linux-get-udev-device-information-in-pythonpyudev/将pyudev和python安装工具与syspath一起使用。

相关内容

  • 没有找到相关文章

最新更新