我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
当前回答
你可以把它压缩成一两行代码!!
content = open('filepath','r').read().replace('\n',' ')
print(content)
如果你的文件是:
hello how are you?
who are you?
blank blank
python输出
hello how are you? who are you? blank blank
其他回答
我觉得没有人回答过你问题的[]部分。当您将每一行读入变量时,因为在您将\n替换为"之前有多行,您最终创建了一个列表。如果你有一个变量x,把它打印出来
x
或打印(x)
或str (x)
您将看到带括号的整个列表。如果你调用数组中的每个元素
x [0] 然后省略括号。如果你使用str()函数,你将只看到数据而不是“either”。 str (x [0])
with open('data.txt', 'r') as file:
data = [line.strip('\n') for line in file.readlines()]
data = ''.join(data)
我很惊讶没有人提到splitlines()。
with open ("data.txt", "r") as myfile:
data = myfile.read().splitlines()
变量数据现在是一个列表,打印时是这样的:
['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']
注意这里没有换行符(\n)。
在这一点上,听起来好像你想打印回控制台的行,这可以通过for循环实现:
for line in data:
print(line)
试试下面的方法:
with open('data.txt', 'r') as myfile:
data = myfile.read()
sentences = data.split('\\n')
for sentence in sentences:
print(sentence)
注意:不移除\n。它只是为了查看文本,就像没有\n一样
这是一个一行的,可复制粘贴的解决方案,也关闭文件对象:
_ = open('data.txt', 'r'); data = _.read(); _.close()