]> granicus.if.org Git - python/commitdiff
Jack's documentation for the U mode character on the file()
authorBarry Warsaw <barry@python.org>
Wed, 22 May 2002 20:39:43 +0000 (20:39 +0000)
committerBarry Warsaw <barry@python.org>
Wed, 22 May 2002 20:39:43 +0000 (20:39 +0000)
constructor, vetted by Barry.

Doc/lib/libfuncs.tex
Doc/lib/libstdtypes.tex

index 158ea0c9c80edd90fc3e9a61c9b87c68400b8f32..6ac17d1a8d760d30240b87f0af0914933aacd436 100644 (file)
@@ -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
index 143b05ae544c37f6b572f49ec57faf4d815c480f..55e77a7a049edb5ab4b80a96e036fc3e9a90b59b 100644 (file)
@@ -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.