title: Python serial - Attempting to use a port that is not open
body: <p>I'm still new in python so please bear with me, so I'm trying to write a script with <code>python2-pyserial</code> but I keep getting error <code>Attempting to use a port that is not open</code> Here's the script:</p>
  
  <pre><code>#!/usr/bin/python
  
  import serial, time
  #initialization and open the port
  #possible timeout values:
  #    1. None: wait forever, block call
  #    2. 0: non-blocking mode, return immediately
  #    3. x, x is bigger than 0, float allowed, timeout block call
  ser = serial.Serial()
  ser.port = "/dev/ttyUSB2"
  ser.baudrate = 115200
  ser.bytesize = serial.EIGHTBITS #number of bits per bytes
  ser.parity = serial.PARITY_NONE #set parity check: no parity
  ser.stopbits = serial.STOPBITS_ONE #number of stop bits
  #ser.timeout = None          #block read
  ser.timeout = 1            #non-block read
  #ser.timeout = 2              #timeout block read
  ser.xonxoff = False     #disable software flow control
  ser.rtscts = False     #disable hardware (RTS/CTS) flow control
  ser.dsrdtr = False       #disable hardware (DSR/DTR) flow control
  ser.writeTimeout = 2     #timeout for write
  try:
      ser.open()
      print ("Port has been opened")
  except Exception, e:
      print ("error open serial port: ") + str(e)
      exit()
  
  if ser.isOpen():
      try:
          ser.flushInput() #flush input buffer, discarding all its contents
          ser.flushOutput()
          ser.write("ATI")
          print("write data: ATI")
          time.sleep(1)  #give the serial port sometime to receive the data
          numOfLines = 0
          while True:
              response = ser.readline()
              print("read data: " + response)
              numOfLines = numOfLines + 1
              if (numOfLines &gt;= 5):
                  break
                  #pass
              ser.close()
      except Exception, e1:
          print ("error communicating...: ") + str(e1)
  else:
      print ("cannot open serial port ")
  </code></pre>
  
  <p>I've tried to run the script with <code>sudo python2 ser</code> but I still have the same error. How do I fix it ?</p>