The best answers to the question “How to read a text file into a string variable and strip newlines?” in the category Dev.
I use the following code segment to read a file in python:
with open ("data.txt", "r") as myfile: data=myfile.readlines()
Input file is:
and when I print data I get
As I see data is in
list form. How do I make it string? And also how do I remove the
"]" characters from it?
In Python 3.5 or later, using pathlib you can copy text file contents into a variable and close the file in one line:
from pathlib import Path txt = Path('data.txt').read_text()
and then you can use str.replace to remove the newlines:
txt = txt.replace('\n', '')
You could use:
with open('data.txt', 'r') as file: data = file.read().replace('\n', '')
Or if the file content is guaranteed to be one-line
with open('data.txt', 'r') as file: data = file.read().rstrip()
To join all lines into a string and remove new lines, I normally use :
with open('t.txt') as f: s = " ".join([l.rstrip() for l in f])
You can read from a file in one line:
str = open('very_Important.txt', 'r').read()
Please note that this does not close the file explicitly.
CPython will close the file when it exits as part of the garbage collection.
But other python implementations won’t. To write portable code, it is better to use
with or close the file explicitly. Short is not always better. See https://stackoverflow.com/a/7396043/362951