code: def serial_ports():
      
      if sys.platform.startswith('win'):
          ports = ['COM%s' % (i + 1) for i in range(256)]
      elif sys.platform.startswith('linux') or sys.platform.startswith('cygwin'):
          # this excludes your current terminal "/dev/tty"
          ports = glob.glob('/dev/tty[A-Za-z]*')
      elif sys.platform.startswith('darwin'):
          ports = glob.glob('/dev/tty.*')
      else:
          raise EnvironmentError('Unsupported platform')
  
      result = []
      for port in ports:
          try:
              s = serial.Serial(port)
              s.close()
              result.append(port)
          except (OSError, serial.SerialException) as e:
              hfoslog('Could not open serial port:', port, e, type(e),
                      exc=True, lvl=warn)
      return result
docs: Lists serial port names
  
          :raises EnvironmentError:
              On unsupported or unknown platforms
          :returns:
              A list of the serial ports available on the system
  
          Courtesy: Thomas ( http://stackoverflow.com/questions/12090503
          /listing-available-com-ports-with-python )