Use the new unicode literals for the io module
use basestring instead of str in Python 2.x
diff --git a/Lib/io.py b/Lib/io.py
index 334b34c..310c77f 100644
--- a/Lib/io.py
+++ b/Lib/io.py
@@ -19,6 +19,8 @@
 XXX use incremental encoder for text output, at least for UTF-16 and UTF-8-SIG
 XXX check writable, readable and seekable in appropriate places
 """
+from __future__ import print_function
+from __future__ import unicode_literals
 
 __author__ = ("Guido van Rossum <guido@python.org>, "
               "Mike Verdone <mike.verdone@gmail.com>, "
@@ -110,15 +112,15 @@
       binary stream, a buffered binary stream, or a buffered text
       stream, open for reading and/or writing.
     """
-    if not isinstance(file, (str, unicode, int)):
+    if not isinstance(file, (basestring, int)):
         raise TypeError("invalid file: %r" % file)
-    if not isinstance(mode, str):
+    if not isinstance(mode, basestring):
         raise TypeError("invalid mode: %r" % mode)
     if buffering is not None and not isinstance(buffering, int):
         raise TypeError("invalid buffering: %r" % buffering)
-    if encoding is not None and not isinstance(encoding, str):
+    if encoding is not None and not isinstance(encoding, basestring):
         raise TypeError("invalid encoding: %r" % encoding)
-    if errors is not None and not isinstance(errors, str):
+    if errors is not None and not isinstance(errors, basestring):
         raise TypeError("invalid errors: %r" % errors)
     modes = set(mode)
     if modes - set("arwb+tU") or len(mode) > len(modes):
@@ -1163,13 +1165,13 @@
                 else:
                     encoding = locale.getpreferredencoding()
 
-        if not isinstance(encoding, str):
+        if not isinstance(encoding, basestring):
             raise ValueError("invalid encoding: %r" % encoding)
 
         if errors is None:
             errors = "strict"
         else:
-            if not isinstance(errors, str):
+            if not isinstance(errors, basestring):
                 raise ValueError("invalid errors: %r" % errors)
 
         self.buffer = buffer