मैं पीसी पर सभी उपलब्ध कॉम पोर्ट को सूचीबद्ध करने के लिए एक सरल विधि की खोज कर रहा हूं।
मुझे यह तरीका मिल गया है, लेकिन यह विंडोज-विशिष्ट है: विंडोज पर लिस्टिंग सीरियल (COM) पोर्ट?
मैं एक विंडोज 7 पीसी पर अजगर के साथ पायथन 3 का उपयोग कर रहा हूं।
मुझे pySerial API ( http://pyserial.sourceforge.net/pyserial_api.html ) एक फ़ंक्शन मिला है serial.tools.list_ports.comports()
जो कॉम पोर्ट को सूचीबद्ध करता है (वास्तव में मुझे जो चाहिए)।
import serial.tools.list_ports
print(list(serial.tools.list_ports.comports()))
लेकिन ऐसा लगता है कि यह काम नहीं करता है। जब मेरा USB से COM गेटवे पीसी से जुड़ा होता है (मैं डिवाइस मैनेजर में COM5 देखता हूं), यह COM पोर्ट द्वारा दी गई सूची में शामिल नहीं है list_ports.comports()
। इसके बजाय मुझे केवल COM4 मिलता है जो एक मॉडेम से जुड़ा हुआ लगता है (मैं इसे डिवाइस मैनेजर के COM और LPT अनुभाग में नहीं देखता)!
क्या आप जानते हैं कि यह काम क्यों नहीं करता है? क्या आपको एक और समाधान मिला है जो सिस्टम विशिष्ट नहीं है?
comports()
इस प्रश्न में वर्णित व्याकरणिक समारोह में बग बग (इसे पुन: पेश करने के बारे में सटीक जानकारी के बिना) शायद तय हो गया है। कोशिश करके शुरू करेंimport serial.tools.list_ports; print([comport.device for comport in serial.tools.list_ports.comports()])
। केवल अगर आपके लिए यह काम नहीं करता है तो आपके लिए प्रासंगिक नीचे दिए गए किसी भी उत्तर हैं।