我有一段代码从文本文件中删除一些不需要的行并将结果写入新的:
f = open('messyParamsList.txt')
g = open('cleanerParamsList.txt','w')
for line in f:
if not line.startswith('W'):
g.write('%s\n' % line)
原始文件是单行距的,但新文件在每行文本之间有一个空行。我怎样才能丢失空行?
我有一段代码从文本文件中删除一些不需要的行并将结果写入新的:
f = open('messyParamsList.txt')
g = open('cleanerParamsList.txt','w')
for line in f:
if not line.startswith('W'):
g.write('%s\n' % line)
原始文件是单行距的,但新文件在每行文本之间有一个空行。我怎样才能丢失空行?
您没有从输入行中删除换行符,因此您不应该\n
在输出中添加一个 ( )。
要么从您阅读的行中删除换行符,要么在写出时不添加新行。
做就是了:
f = open('messyParamsList.txt')
g = open('cleanerParamsList.txt','w')
for line in f:
if not line.startswith('W'):
g.write(line)
您从原始文件中读取的每一行末尾都有\n
(新行)字符,所以不要添加另一个(现在您正在添加一个,这意味着您实际上引入了空行)。
我的猜测是变量“line”已经有一个换行符,但是你正在用 g.write('%s* \n *' % line)编写一个额外的换行符
行末尾有一个换行符。
从您的 write 或 rstrip 行中删除 \n。