pySerial 运行 命令列出端口

pySerial running command to list ports

我正在使用 pySerial,并且我正在 运行使用 CMD 执行此命令以列出可用的 COM 端口并在找到时显示 COM 端口号:

python -m serial.tools.list_ports

我知道当我使用 python -m 标志时,命令行将导入串行模块,我可以访问其中的对象,因此它应该显示输出。但是,当 运行 使用 IDLE shell:

时,相同的命令不起作用
import serial
print(serial.tools.list_ports_common)

这个returns一个错误AttributeError:模块'serial'没有属性'tools' 为什么它在空闲时不工作?

您需要先导入它:

from serial.tools import list_ports
list_ports.main()  # Same result as python -m serial.tools.list_ports

你可以查看源码here