擅长:python、mysql、java
<p>pyserial可以列出端口及其USB VID:PID编号。</p>
<pre><code>from serial.tools import list_ports
list_ports.comports()
</code></pre>
<p>此函数返回一个元组,第三个项是一个字符串,可能包含USB VID:PID号。你可以从那里分析。或者,您可以使用<code>grep</code>模块提供的<code>list_ports</code>函数:</p>
<pre><code>list_ports.grep("6157:9988")
</code></pre>
<p>这个函数返回一个生成器对象,您可以遍历它。如果不太可能有两个设备连接到同一个VID:PID(我不这么认为,但出于测试目的,这是可以的),您可以这样做:</p>
<pre><code>my_port_name = list(list_ports.grep("0483:5740"))[0][0]
</code></pre>
<p><a href="http://pyserial.readthedocs.io/en/latest/tools.html#module-serial.tools.list_ports" rel="nofollow noreferrer">list_ports</a>的文档。</p>
<p>注意:我只在linux上测试过。pyserial文档警告说,在某些系统上,可能没有列出硬件ID。</p>