[英]Getting hard disk serial number (USB stick / ATA based) with pyudev
[英]USB Stick Serial number in Python
我試圖在Linux上使用Python獲取USB閃存驅動器的序列號(或任何獨特的基於硬件的標識符)。 我從這個SO問題中找到的配方開始。
該鏈接中的代碼非常適合固定硬盤驅動器。 例如,在我的內置筆記本電腦SSD上,它返回:
$ sudo python clusterTool.py /dev/sda Hard Disk Model: SAMSUNG SSD PM810 2.5" 7mm 256GB Serial Number: S0NUNYAB503012
搖擺!
然而,當我在閃存棒上運行它時,我從ioctl得到一個錯誤,該錯誤正在被非常地跟隨到以下python跟蹤:
$ sudo python clusterTool.py /dev/sdb Traceback (most recent call last): File "clusterTool.py", line 21, in buf = fcntl.ioctl(fd, HDIO_GET_IDENTITY, " " * sizeof_hd_driveid) IOError: [Errno 22] Invalid argument
文件表明他們是同一種野獸:
$ file /dev/sd{a,b} /dev/sda: block special /dev/sdb: block special
我不確定它們有何不同,但它們顯然在某處分歧。 這些設備之間有什么區別,有什么辦法可以統一獲取標識符嗎?
這可能有助於http://www.roman10.net/linux-get-udev-device-information-in-pythonpyudev/使用pypathv和python設置工具與syspath。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.