我有一段代码正在从文本文件中删除一些不需要的行并将结果写入新文件:
f = open('messyParamsList.txt')
g = open('cleanerParamsList.txt','w')
for line in f:
if not line.startswith('W'):
g.write('%s\n' % line)
原始文件是单行间隔的,但新文件在每行文本之间都有一个空行。我怎么能失去空行?
答案 0 :(得分:4)
您没有从输入行中删除换行符,因此您不应在输出中添加一行(\n
)。
答案 1 :(得分:1)
从您阅读的行中删除新行,或者在写出时不添加新行。
答案 2 :(得分:1)
只是做:
f = open('messyParamsList.txt')
g = open('cleanerParamsList.txt','w')
for line in f:
if not line.startswith('W'):
g.write(line)
您从原始文件中读取的每一行最后都有\n
(新行)字符,因此请勿添加另一行(现在您要添加一行,这意味着您实际上会引入空行)。 / p>
答案 3 :(得分:0)
我的猜测是变量“line”已经有了换行符,但是你正在用g.write('%s * \ n *'%行)写一个额外的换行符)
答案 4 :(得分:0)
行最后有一个换行符。
从写入或rstrip行中删除\ n。