Make sure all files are opened in binary mode.
diff --git a/Doc/library/csv.rst b/Doc/library/csv.rst
index c688da8..0394170 100644
--- a/Doc/library/csv.rst
+++ b/Doc/library/csv.rst
@@ -78,7 +78,7 @@
    A short usage example::
 
       >>> import csv
-      >>> spamReader = csv.reader(open('eggs.csv'), delimiter=' ', quotechar='|')
+      >>> spamReader = csv.reader(open('eggs.csv', 'rb'), delimiter=' ', quotechar='|')
       >>> for row in spamReader:
       ...     print ', '.join(row)
       Spam, Spam, Spam, Spam, Spam, Baked Beans
@@ -116,7 +116,7 @@
    A short usage example::
 
       >>> import csv
-      >>> spamWriter = csv.writer(open('eggs.csv', 'w'), delimiter=' ',
+      >>> spamWriter = csv.writer(open('eggs.csv', 'wb'), delimiter=' ',
       ...                         quotechar='|', quoting=csv.QUOTE_MINIMAL)
       >>> spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
       >>> spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
@@ -234,7 +234,7 @@
 
 An example for :class:`Sniffer` use::
 
-   csvfile = open("example.csv")
+   csvfile = open("example.csv", "rb")
    dialect = csv.Sniffer().sniff(csvfile.read(1024))
    csvfile.seek(0)
    reader = csv.reader(csvfile, dialect)