在已占用的com端口上创建串行端口不会引发异常

时间:2019-03-22 19:18:13

标签: python-3.6 pyserial

我正在使用以下在不同地方找到的python代码来获取可以连接到的可用com端口的列表。

     def getPorts(self):
        if sys.platform == 'linux':
            ports = ['/dev/ttyUSB%s' % (i) for i in range(60)]  # for Linux boxes

        else:
            ports = ['COM%s' % (i) for i in range(20)]  #for Windows boxes

        results = list()
        for port in ports:
            try:
                s = serial.Serial(port) #try to create a serial port object

                results.append(port) #if it get this far the port is available
            except (OSError, serial.SerialException):
                print("no port" + port )

        return results

我有两个USB端口,一个连接在USB1上,另一个连接在USB2上。 USB2正在由单独的python进程积极写入。当我使用代码时,ttyUSB2端口挂起,并将其添加到可用端口列表中。对我来说,这意味着将创建串行端口,并且不会引发异常。

我的问题是为什么不引发异常?这可能与我的操作系统有关吗?我过去已经成功使用了此代码段。

我的操作系统是redhat 7.6

0 个答案:

没有答案