Table of Contents
Read File without NewLine in Python
In Python, there are multiple ways to read a file without new lines, but before diving into those methods, let’s look at the .txt
file we will use for this article.
1 2 3 4 5 6 |
This is line one. This is line two. This is line three. And this is line four. |
You can follow along using the file.txt
or your own file.
Use read()
and replace()
Methods
To read a file without newline in Python:
- Use the
open()
method to open the text file. - Use the
read()
with thereplace()
method to replace newline characters with an empty string
1 2 3 4 5 |
with open('file.txt') as file: content_without_newline = file.read().replace('\n', '') print(content_without_newline) |
1 2 3 |
This is line one.This is line two.This is line three.And this is line four. |
First, we used the open()
method, which took the file.txt
as an argument, opened it in read mode and returned its file instance (also called file object) that we saved in the file
variable.
Then, we used this file
object to access the read()
method, which read the entire file.txt
as a string with which we chained the replace()
method to replace the new line characters (represented with \n
) with an empty string (represented with ''
). Finally, we saved the updated content in the content_without_newline
variable that we passed to the print()
method to display on the screen.
This solution is similar to remove newline from String in Python.
The
open()
method can take other modes that we can see here.
Use readlines()
, join()
, & repalce()
Methods
To read a file without newline in Python:
- Use the
open()
method to open the specified text file in read mode. - Use
readlines()
to read the text file line by line. - Use the
join()
method to join all the lines that we read using thereadlines()
method - Use the
replace()
method to replace newline characters with an empty string.
1 2 3 4 5 |
with open('file.txt') as file: content_without_newlines = ''.join(file.readlines()).replace('\n', '') print(content_without_newlines) |
1 2 3 |
This is line one.This is line two.This is line three.And this is line four. |
Again, we used the open()
method to open the file.txt
in read mode and saved its file object in the file
variable. Next, we used the .readlines()
method to read the file.txt
line by line, where each line will be a separate string; every string was passed to the join()
method to join without any separator because we used an empty string (denoted with ''
) as a delimiter here.
At this point, we have a single string but with newline characters. Now, it’s time to use the replace()
method to do replacements. This method took two arguments; first was the \n
representing a new line character while the second was ''
denoted empty string; in the above code snippet, we replaced \n
with ''
, saved the updated content in content_without_newlines
variable. Finally, we passed the content_without_newlines
to the print()
method to print on the console.
Use read()
, join()
, and splitlines()
Methods
To read a file without newline in Python:
- Use the
open()
method to open the text file in read mode. - Use the
read()
method to read the entire text file as a string. - Use
splitlines()
method to split the string (produced byread()
method) into list of strings. - Use
join()
method to join all the lines produced bysplitlines()
method.
1 2 3 4 5 |
with open('file.txt') as file: content_without_newlines = ''.join(file.read().splitlines()) print(content_without_newlines) |
1 2 3 |
This is line one.This is line two.This is line three.And this is line four. |
We have already learned about open()
, read()
, and join()
methods in previous examples. Here, we used the splitlines()
, which split the lines but why and how? For this, let’s understand the code in sequential steps. First, the open()
method opened the file.txt
in read mode, the read()
method read the entire file as one string, and the splitlines()
method split that string into a list of strings where each list item corresponds to one line in file.txt
.
The splitlines()
automatically split the string, produced by the read()
method, based on the \n
because every line ended with \n
in file.txt
. Remember that the splitlines()
method automatically handles the line ending conventions such as \r\n
, \r
or \n
. Finally, we saved the updated string in a variable that we passed to the print()
method to print the updated content on the screen.
Use for
Loop with strip()
Method
To read a file without newline in Python:
- Use the
open()
method to open the text file in read mode. - Use the
for
loop to read text file line by line. - In each iteration:
- Use the
strip()
method to remove all leading and trailing whitespaces from the current line. - Use the
+=
operator to concatenate the current updated line.
- Use the
1 2 3 4 5 6 7 |
with open('file.txt') as f: content_without_newlines = '' for current_line in file: content_without_newlines += current_line.strip() print(content_without_newlines) |
1 2 3 |
This is line one.This is line two.This is line three.And this is line four. |
Here, we used the open()
method to open the file.txt
in read mode and stored its file instance in the file
variable. Then, we declared and initialized the content_without_newlines
variable with an empty string. This variable will be used to contain the content without newline characters.
Next, we used the for
loop to iterate over all lines of the specified text file. Then, we used the strip()
method for every line to remove leading and trailing whitespaces and concatenated this line with the content_without_newlines
value. Finally, we printed the value of the content_without_newlines
variable on the console.