Tôi đang tìm kiếm một phương pháp đơn giản để liệt kê tất cả các cổng com hiện có trên PC.
Tôi đã tìm thấy phương pháp này nhưng nó dành riêng cho Windows: Liệt kê các cổng nối tiếp (COM) trên Windows?
Tôi đang sử dụng Python 3 với pySerial trên PC chạy Windows 7.
Tôi đã tìm thấy trong API pySerial ( http://pyserial.sourceforge.net/pyserial_api.html ) một hàm serial.tools.list_ports.comports()
liệt kê các cổng com (chính xác những gì tôi muốn).
import serial.tools.list_ports
print(list(serial.tools.list_ports.comports()))
Nhưng có vẻ như nó không hoạt động. Khi cổng kết nối USB tới COM của tôi được kết nối với PC (tôi thấy COM5 trong Trình quản lý thiết bị), cổng COM này không có trong danh sách được trả về list_ports.comports()
. Thay vào đó, tôi chỉ nhận được COM4 dường như được kết nối với modem (tôi không thấy nó trong phần COM & LPT của Trình quản lý thiết bị)!
Bạn có biết tại sao nó không hoạt động? Bạn có một giải pháp khác không dành riêng cho hệ thống không?
comports()
chức năng của pySerial được mô tả trong câu hỏi này (không có thông tin chính xác về cách tạo lại nó) có thể đã được sửa. Bắt đầu bằng cách thửimport serial.tools.list_ports; print([comport.device for comport in serial.tools.list_ports.comports()])
. Chỉ khi điều đó không hiệu quả với bạn thì bất kỳ câu trả lời nào dưới đây mới phù hợp với bạn.