[Python-checkins] cpython: #7198: add newlines='' to csv.writer docs. (original) (raw)
r.david.murray python-checkins at python.org
Sun Mar 20 03:36:47 CET 2011
- Previous message: [Python-checkins] cpython (merge default -> default): Branch merge
- Next message: [Python-checkins] cpython: Merge #7198 doc fix.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
http://hg.python.org/cpython/rev/ab27f16f707a changeset: 68702:ab27f16f707a user: R David Murray <rdmurray at bitdance.com> date: Sat Mar 19 22:30:14 2011 -0400 summary: #7198: add newlines='' to csv.writer docs.
files: Doc/library/csv.rst Tools/demo/README
diff --git a/Doc/library/csv.rst b/Doc/library/csv.rst
--- a/Doc/library/csv.rst
+++ b/Doc/library/csv.rst
@@ -52,7 +52,7 @@
csvfile can be any object which supports the :term:iterator
protocol and returns a
string each time its :meth:!__next__
method is called --- :term:file objects <file object>
and list objects are both suitable. If csvfile is a file object,
- it should be opened with newline=''
. [#]_ An optional
+ it should be opened with newline=''
. [1]_ An optional
dialect parameter can be given which is used to define a set of parameters
specific to a particular CSV dialect. It may be an instance of a subclass of
the :class:Dialect
class or one of the strings returned by the
@@ -79,7 +79,8 @@
Return a writer object responsible for converting the user's data into delimited
strings on the given file-like object. csvfile can be any object with a
- :func:write
method. An optional dialect
+ :func:write
method. If csvfile is a file object, it should be opened with
+ newline='' [1]_. An optional dialect
parameter can be given which is used to define a set of parameters specific to a
particular CSV dialect. It may be an instance of a subclass of the
:class:Dialect
class or one of the strings returned by the
@@ -96,7 +97,7 @@
A short usage example::
>>> import csv
- >>> spamWriter = csv.writer(open('eggs.csv', 'w'), delimiter=' ',
+ >>> spamWriter = csv.writer(open('eggs.csv', 'w', newline=''), delimiter=' ',
... quotechar='|', quoting=csv.QUOTE_MINIMAL)
>>> spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
>>> spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
@@ -427,7 +428,7 @@
Reading a file with an alternate format::
import csv
- with open('passwd') as f:
+ with open('passwd', newline='') as f:
reader = csv.reader(f, delimiter=':', quoting=csv.QUOTE_NONE)
for row in reader:
print(row)
@@ -435,7 +436,7 @@
The corresponding simplest possible writing example is::
import csv
- with open('some.csv', 'w') as f:
+ with open('some.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(someiterable)
@@ -457,7 +458,7 @@
import csv
csv.register_dialect('unixpwd', delimiter=':', quoting=csv.QUOTE_NONE)
- with open('passwd') as f:
+ with open('passwd', newline='') as f:
reader = csv.reader(f, 'unixpwd')
A slightly more advanced use of the reader --- catching and reporting errors::
@@ -482,7 +483,7 @@
.. rubric:: Footnotes
-.. [#] If newline=''
is not specified, newlines embedded inside quoted fields
- will not be interpreted correctly. It should always be safe to specify
- newline=''
, since the csv module does its own universal newline handling
- on input.
+.. [1] If newline=''
is not specified, newlines embedded inside quoted fields
+ will not be interpreted correctly, and on platforms that use \r\n
linendings
+ on write an extra \\r
will be added. It should always be safe to specify
+ newline=''
, since the csv module does its own (universal) newline handling.
diff --git a/Tools/demo/README b/Tools/demo/README
deleted file mode 100644
--- a/Tools/demo/README
+++ /dev/null
@@ -1,16 +0,0 @@
-This directory contains a collection of demonstration scripts for
-various aspects of Python programming.
-beer.py Well-known programming example: Bottles of beer. -eiffel.py Python advanced magic: A metaclass for Eiffel post/preconditions. -hanoi.py Well-known programming example: Towers of Hanoi. -life.py Curses programming: Simple game-of-life. -markov.py Algorithms: Markov chain simulation. -mcast.py Network programming: Send and receive UDP multicast packets. -queens.py Well-known programming example: N-Queens problem. -redemo.py Regular Expressions: GUI script to test regexes. -rpython.py Network programming: Small client for remote code execution. -rpythond.py Network programming: Small server for remote code execution. -sortvisu.py GUI programming: Visualization of different sort algorithms. -ss1.py GUI/Application programming: A simple spreadsheet application. -vector.py Python basics: A vector class with demonstrating special methods. \ No newline at end of file
-- Repository URL: http://hg.python.org/cpython
- Previous message: [Python-checkins] cpython (merge default -> default): Branch merge
- Next message: [Python-checkins] cpython: Merge #7198 doc fix.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]