diff --git a/Doc/lib/libfuncs.tex b/Doc/lib/libfuncs.tex index 158ea0c9c80..6ac17d1a8d7 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 143b05ae544..55e77a7a049 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.