我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
当前回答
Oneliner:
列表:" . join ([line.rstrip(“\ n”)在开放(file.txt)]) 生成器:"".join((line.rstrip('\n') for line in open('file.txt')))
列表比生成器快,但内存更重。生成器比列表慢,而且内存更轻,比如遍历行。在"".join()的情况下,我认为两者都应该工作得很好。.join()函数应该被删除,分别获得列表或生成器。
注意:close() /关闭文件描述符可能不需要
其他回答
你可以用:
with open('data.txt', 'r') as file:
data = file.read().replace('\n', '')
或者文件内容保证为一行
with open('data.txt', 'r') as file:
data = file.read().rstrip()
这可以使用read()方法来完成:
text_as_string = open('Your_Text_File.txt', 'r').read()
或者因为默认模式本身是'r'(读),所以简单地使用,
text_as_string = open('Your_Text_File.txt').read()
with open("data.txt") as myfile:
data="".join(line.rstrip() for line in myfile)
Join()将连接一个字符串列表,而不带参数的rstrip()将从字符串末尾删除空格,包括换行符。
file = open("myfile.txt", "r")
lines = file.readlines()
str = '' #string declaration
for i in range(len(lines)):
str += lines[i].rstrip('\n') + ' '
print str
试试下面的方法:
with open('data.txt', 'r') as myfile:
data = myfile.read()
sentences = data.split('\\n')
for sentence in sentences:
print(sentence)
注意:不移除\n。它只是为了查看文本,就像没有\n一样