Universal newline mode is a feature of the Python
open() function that allows
it to handle newline characters in a consistent way, regardless of the platform
on which the code is running.
In most programming languages, a newline character is represented by a single
\r. However, different platforms use different
newline characters. For example, Windows uses
\r\n, while macOS and Linux use
Universal newline mode allows Python code to read and write files with newline characters in a consistent way, regardless of the platform on which the code is running. When a file is opened in universal newline mode, any newline characters in the file are converted to the newline character that is used on the current platform.
To open a file in universal newline mode, you can use the
newline argument to
open() function. The
newline argument can be set to
None: This enables universal newline mode.
'': This is the same as
'\n': This tells Python to convert all newline characters to
'\r': This tells Python to convert all newline characters to
'\r\n': This tells Python to convert all newline characters to
For example, the following code opens a file in universal newline mode and reads the first line:
with open('file.txt', 'rU') as f: first_line = f.readline()
rU mode tells Python to open the file in read mode and enable universal
newline mode. The
readline() function reads the first line from the file and
returns it as a string.
Universal newline mode is a useful feature that can help to make your Python code more portable. If you are working with files that contain newline characters, I recommend using universal newline mode to avoid any problems that might arise due to different newline conventions.