Python中删除文件空行的单行代码?
我想找一个一行代码,可以在Python中删除文件里的所有空行。这个功能在Python中相当于下面这个命令:grep -v '^$' file_name > file_name
8 个回答
2
这是一个没有循环的代码示例:
open('dst','w').write(re.sub('\n\s*\n+','\n', open('src').read()))
6
下面这个不是一行代码,但它能完成任务,而且很容易理解:
for line in open(filename):
line = line.rstrip()
if line != '':
print line
这段代码会把结果输出到标准输出,也就是通常我们看到的地方。想要把结果输出到其他地方,修改这段代码也非常简单。
如果你真的想要一行代码,其实也很容易把它改成一行:
''.join(l for l in open(filename) if l.rstrip())
10
lines = [i for i in open(file_path) if i[:-1]]
如果你需要把内容写入另一个文件,可以使用 file_object.writelines(lines)
,前提是你要先打开那个文件用于写入。