簡體   English   中英

USB Stick在Python中的序列號

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM