|
The three major operating systems used today are Microsoft Windows,
Apple's Macintosh OS, and the various Unix derivatives. A minor
irritation of cross-platform work
is that these three platforms all use different characters
to mark the ends of lines in text files. Unix uses the linefeed
(ASCII character 10), MacOS uses the carriage return (ASCII
character 13), and Windows uses a two-character sequence of a
carriage return plus a newline.
Python's file objects can now support end of line conventions other
than the one followed by the platform on which Python is running.
Opening a file with the mode 'U' or 'rU' will open a file
for reading in universal newline mode. All three line ending
conventions will be translated to a "\n" in the strings
returned by the various file methods such as read() and
readline().
Universal newline support is also used when importing modules and when
executing a file with the execfile() function. This means
that Python modules can be shared between all three operating systems
without needing to convert the line-endings.
This feature can be disabled when compiling Python by specifying
the --without-universal-newlines switch when running Python's
configure script.
See About this document... for information on suggesting changes.
|