summaryrefslogtreecommitdiffstats
path: root/Doc/lib
diff options
context:
space:
mode:
authorBarry Warsaw <barry@python.org>2002-05-22 20:39:43 (GMT)
committerBarry Warsaw <barry@python.org>2002-05-22 20:39:43 (GMT)
commit177b4a065f121e70a43928b27bf845009944f070 (patch)
tree35a31fe338c4c59040fa044135e13de4185f9373 /Doc/lib
parent4be55b5cef746a3a8e07e7774c7310917f7381c3 (diff)
downloadcpython-177b4a065f121e70a43928b27bf845009944f070.zip
cpython-177b4a065f121e70a43928b27bf845009944f070.tar.gz
cpython-177b4a065f121e70a43928b27bf845009944f070.tar.bz2
Jack's documentation for the U mode character on the file()
constructor, vetted by Barry.
Diffstat (limited to 'Doc/lib')
-rw-r--r--Doc/lib/libfuncs.tex15
-rw-r--r--Doc/lib/libstdtypes.tex12
2 files changed, 27 insertions, 0 deletions
diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex
index 158ea0c..6ac17d1 100644
--- a/Doc/lib/libfuncs.tex
+++ b/Doc/lib/libfuncs.tex
@@ -345,6 +345,21 @@ def my_import(name):
that differentiate between binary and text files (else it is
ignored). If the file cannot be opened, \exception{IOError} is
raised.
+
+ In addition to the standard \cfunction{fopen()} values \var{mode}
+ may be \code{'U'} or \code{'rU'}. If Python is built with universal
+ newline support (the default) the file is opened as a text file, but
+ lines may be terminated by any of \code{'\e n'}, the Unix end-of-line
+ convention,
+ \code{'\e r'}, the Macintosh convention or \code{'\e r\e n'}, the Windows
+ convention. All of these external representations are seen as
+ \code{'\e n'}
+ by the Python program. If Python is built without universal newline support
+ \var{mode} \code{'U'} is the same as normal text mode. Note that
+ file objects so opened also have an attribute called
+ \member{newlines} which has a value of \code{None} (if no newlines
+ have yet been seen), \code{'\e n'}, \code{'\e r'}, \code{'\e r\e n'},
+ or a tuple containing all the newline types seen.
If \var{mode} is omitted, it defaults to \code{'r'}. When opening a
binary file, you should append \code{'b'} to the \var{mode} value
diff --git a/Doc/lib/libstdtypes.tex b/Doc/lib/libstdtypes.tex
index 143b05a..55e77a7 100644
--- a/Doc/lib/libstdtypes.tex
+++ b/Doc/lib/libstdtypes.tex
@@ -1248,6 +1248,18 @@ file object, of the form \samp{<\mbox{\ldots}>}. This is a read-only
attribute and may not be present on all file-like objects.
\end{memberdesc}
+\begin{memberdesc}[file]{newlines}
+If Python was built with the \code{--with-universal-newlines} option
+(the default) this read-only attribute exists, and for files opened in
+universal newline read mode it keeps track of the types of newlines
+encountered while reading the file. The values it can take are
+\code{'\e r'}, \code{'\e n'}, \code{'\e r\e n'}, \code{None} (unknown,
+no newlines read yet) or a tuple containing all the newline
+types seen, to indicate that multiple
+newline conventions were encountered. For files not opened in universal
+newline read mode the value of this attribute will be \code{None}.
+\end{memberdesc}
+
\begin{memberdesc}[file]{softspace}
Boolean that indicates whether a space character needs to be printed
before another value when using the \keyword{print} statement.