'Open port with current settings. This may throw a SerialException
if the port cannot be opened.'

def open(self):

    if self.is_open:
        raise SerialException('Port    is    already    open.')
    self.logger = None
    self.queue = queue.Queue(self.buffer_size)
    if (self._port is None):
        raise SerialException('Port    must    be    configured    before    it    can    be    used.')
    self.from_url(self.port)
    self._reconfigure_port()
    self.is_open = True
    if (not self._dsrdtr):
        self._update_dtr_state()
    if (not self._rtscts):
        self._update_rts_state()
    self.reset_input_buffer()
    self.reset_output_buffer()
