这是一个片段:
f = open("a.txt","r")
paragraph = f.readlines()
f1 = open("o.txt","w")
for line in paragraph:
f1.write(line)
在这里,我如何设法在o.txt中的同一行连续写入?
例如,a.txt
:
Hi,
how
are
you?
然后o.txt
应为:
Hi, how are you?
提前致谢。
答案 0 :(得分:1)
您需要剥离线然后连接并写入文件:
with open("a.txt","r") as in_f,open("o.txt","w") as out_f:
out_f.write(' '.join(in_f.read().replace('\n','')))
同样作为使用with
statement处理文件的更加pythonic方式。
或更好:
with open("a.txt","r") as in_f,open("o.txt","w") as out_f:
out_f.write(' '.join(map(str.strip(),in_f))
或使用列表理解:
with open("a.txt","r") as in_f,open("o.txt","w") as out_f:
out_f.write(' '.join([line.strip() for line in in_f])
答案 1 :(得分:1)
使用rstrip
f = open("a.txt","r")
paragraph = " ".join(map(lambda s: s.rstrip('\n'), f.readlines()))
f1 = open("b.txt","w")
f1.write(paragraph)
答案 2 :(得分:1)
private
def set_teacher
@teachers = Teacher.find(params[:id])
end)
答案 3 :(得分:0)
这是因为Python读取整个行,包括python中表示为\n
的换行符。示例中的字符串将生成如下数组:
['Hi,\n', 'how\n', 'are\n', 'you?']
要解决此问题,您需要从每一行中删除尾随\n
,但要注意最后一行可能不包含\n
,因此您无法删除每行的最后一个字符。 python中内置了预先制作的方法,可以帮助您从字符串的开头和结尾删除空格字符(如换行符\n
和空格" "
)。
官方文档可能有点令人生畏,但查找和使用文档中的信息可能是计算领域最重要的技能之一。查看官方文档,看看您是否在字符串类中找到任何有用的方法。 https://docs.python.org/3/library/stdtypes.html#str.strip
答案 4 :(得分:0)
我找到了解决方案。在这里。基本上使用replace()
。
f = open("a.txt","r")
paragraph = f.readlines()
f1 = open("o.txt","w")
for line in paragraph:
line = line.replace("\n"," ")
f1.write(line)
欢迎其他方法! :)