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

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

其他回答

在Python 3.5或更高版本中,使用pathlib可以将文本文件内容复制到一个变量中,并在一行中关闭文件:

from pathlib import Path
txt = Path('data.txt').read_text()

然后你可以使用str.replace删除换行符:

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

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

print str

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

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

很难确切地说出你在追求什么,但像这样的东西应该让你开始:

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

你可以用:

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')

或者文件内容保证为一行

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