我有一个脚本需要解除/绑定设备,为此,我需要检索 USB 位置。当我使用 pyserial 枚举端口时,我得到以下内容:
ttyACM3
Numato
1-3.2.1:1.1
但是当我执行解除绑定/绑定时,我相信我想要使用的只是其中的这一部分:
1-3.2.1
这让我开始疑惑“:1.1”是什么,于是我去了/sys/bus/usb/devices,发现我有以下内容:
lrwxrwxrwx 1 root root 0 Sep 3 12:53 1-3.2.1 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2.1/
lrwxrwxrwx 1 root root 0 Sep 3 12:53 1-3.2.1:1.0 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2.1/1-3.2.1:1.0/
lrwxrwxrwx 1 root root 0 Sep 3 12:53 1-3.2.1:1.1 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2.1/1-3.2.1:1.1/
lrwxrwxrwx 1 root root 0 Sep 3 12:53 1-3.2.1:1.2 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2.1/1-3.2.1:1.2/
lrwxrwxrwx 1 root root 0 Sep 3 12:53 1-3.2.1:1.3 -> ../../../devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2.1/1-3.2.1:1.3/
我知道位置的开头与 USB 总线和集线器等的层次结构有关 - 冒号后面的内容是什么(1.0、1.1、1.2 和 1.3)?似乎 /sys/bus/usb/devices/1-3.2.1 包含设备的所有主要详细信息,但我很好奇所有其他文件夹是什么。
我询问的另一个原因是,当我使用 pyserial 列出所有设备及其 USB 位置时,当我想要设备位置时,截断冒号后的所有内容是否安全?