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

ABC
DEF

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


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


当前回答

file = open("myfile.txt", "r")
lines = file.readlines()
str = ''                                     #string declaration

for i in range(len(lines)):
    str += lines[i].rstrip('\n') + ' '

print str

其他回答

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

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

要将所有行连接成字符串并删除新行,我通常使用:

with open('t.txt') as f:
  s = " ".join([l.rstrip("\n") for l in f]) 

你试过这个吗?

x = "yourfilename.txt"
y = open(x, 'r').read()

print(y)

Oneliner:

列表:" . join ([line.rstrip(“\ n”)在开放(file.txt)]) 生成器:"".join((line.rstrip('\n') for line in open('file.txt')))

列表比生成器快,但内存更重。生成器比列表慢,而且内存更轻,比如遍历行。在"".join()的情况下,我认为两者都应该工作得很好。.join()函数应该被删除,分别获得列表或生成器。

注意:close() /关闭文件描述符可能不需要

也许你可以试试这个?我在我的程序中使用这个。

Data= open ('data.txt', 'r')
data = Data.readlines()
for i in range(len(data)):
    data[i] = data[i].strip()+ ' '
data = ''.join(data).strip()