我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
我有一个文本文件,看起来像:
ABC
DEF
我怎么能把文件读入一个单行字符串没有换行符,在这种情况下创建一个字符串'ABCDEF'?
有关将文件读入行列表,但从每行中删除末尾换行字符的操作,请参见如何读取不带换行符的文件?。
当前回答
试试下面的方法:
with open('data.txt', 'r') as myfile:
data = myfile.read()
sentences = data.split('\\n')
for sentence in sentences:
print(sentence)
注意:不移除\n。它只是为了查看文本,就像没有\n一样
其他回答
要使用Python删除换行符,可以使用字符串的replace函数。
这个例子删除了所有3种类型的换行符:
my_string = open('lala.json').read()
print(my_string)
my_string = my_string.replace("\r","").replace("\n","")
print(my_string)
示例文件为:
{
"lala": "lulu",
"foo": "bar"
}
你可以尝试使用这个回放场景:
https://repl.it/repls/AnnualJointHardware
您还可以剥离每一行并连接成最终字符串。
myfile = open("data.txt","r")
data = ""
lines = myfile.readlines()
for line in lines:
data = data + line.strip();
这也可以解决问题。
我很惊讶没有人提到splitlines()。
with open ("data.txt", "r") as myfile:
data = myfile.read().splitlines()
变量数据现在是一个列表,打印时是这样的:
['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']
注意这里没有换行符(\n)。
在这一点上,听起来好像你想打印回控制台的行,这可以通过for循环实现:
for line in data:
print(line)
f = open('data.txt','r')
string = ""
while 1:
line = f.readline()
if not line:break
string += line
f.close()
print(string)
file = open("myfile.txt", "r")
lines = file.readlines()
str = '' #string declaration
for i in range(len(lines)):
str += lines[i].rstrip('\n') + ' '
print str