我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
当前回答
with open("data.txt") as myfile:
data="".join(line.rstrip() for line in myfile)
Join()将连接一个字符串列表,而不带参数的rstrip()将从字符串末尾删除空格,包括换行符。
其他回答
我已经摆弄了一段时间,更喜欢将use read与rstrip结合使用。如果没有rstrip("\n"), Python会在字符串的末尾添加换行符,这在大多数情况下不是很有用。
with open("myfile.txt") as f:
file_content = f.read().rstrip("\n")
print(file_content)
这里有四个代码供您选择:
with open("my_text_file.txt", "r") as file:
data = file.read().replace("\n", "")
or
with open("my_text_file.txt", "r") as file:
data = "".join(file.read().split("\n"))
or
with open("my_text_file.txt", "r") as file:
data = "".join(file.splitlines())
or
with open("my_text_file.txt", "r") as file:
data = "".join([line for line in file])
很难确切地说出你在追求什么,但像这样的东西应该让你开始:
with open ("data.txt", "r") as myfile:
data = ' '.join([line.replace('\n', '') for line in myfile.readlines()])
f = open('data.txt','r')
string = ""
while 1:
line = f.readline()
if not line:break
string += line
f.close()
print(string)
要将所有行连接成字符串并删除新行,我通常使用:
with open('t.txt') as f:
s = " ".join([l.rstrip("\n") for l in f])