我有一个文本文件,看起来像:

ABC
DEF

我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?


有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。


当前回答

with open('data.txt', 'r') as file:
    data = [line.strip('\n') for line in file.readlines()]
    data = ''.join(data)

其他回答

正则表达式也适用:

import re
with open("depression.txt") as f:
     l = re.split(' ', re.sub('\n',' ', f.read()))[:-1]

print (l)

['I', 'feel', 'empty', 'and', 'dead', 'inside']

如果您不熟悉方括号语法,则python3:谷歌“列表理解”。

 with open('data.txt') as f:
     lines = [ line.strip('\n') for line in list(f) ]

试试下面的方法:

with open('data.txt', 'r') as myfile:
    data = myfile.read()

    sentences = data.split('\\n')
    for sentence in sentences:
        print(sentence)

注意:不移除\n。它只是为了查看文本,就像没有\n一样

f = open('data.txt','r')
string = ""
while 1:
    line = f.readline()
    if not line:break
    string += line

f.close()


print(string)

这是一个一行的,可复制粘贴的解决方案,也关闭文件对象:

_ = open('data.txt', 'r'); data = _.read(); _.close()