И даже больше.- except IOError, e:
- if e.errno != errno.ENOENT
- raise
+ except FileNotFoundError as e: #Py3.3
> - filename.encode('utf-8') if isinstance(filename, unicode)
> + filename.encode('utf-8') if isinstance(filename, str) #Py3
Вместо filename.encode('utf-8') можно просто filename.encode(). А вместо filename.encode(sys.getfilesystemencoding()) — os.fsencode(filename).
> - from StringIO import StringIO
> + from io import StringIO #Py3
В Py2 обычно используется более сложный код.
- try:
- from cStringIO import StringIO
- except ImportError:
- from StringIO import StringIO
+ from io import StringIO #Py3