首页 > 代码库 > python中去掉空行的问题

python中去掉空行的问题

在python中处理空行时,经常会遇到一些问题。现总结经验如下:

1.遇到的空行如果只有换行符,直接使用==‘\n‘或者 len(line)==line.count(‘\n‘)

2.有多个空格+换行符时。有几种处理方法:①split; ②正则表达式‘^\n‘(不会);③if eachLine[:-1].strip()

 

展开:

eg.文件过滤,显示一个文件的所有行,忽略以井号(#)开头的行。

1 f=open(test.txt,r)2 for eachLine in f:3     if not eachLine.split(): #  whether   space4         print eachLine,5     elif eachLine.strip()[0]!=#:6         print eachLine,7 8 f.close()

1 f=open(test.txt,r)2 for eachLine in f:3     if not eachLine[:-1].strip():#whether space4         print eachLine,5     elif eachLine.strip()[0]!=#:6         print eachLine,7 8 f.close()

这两种方法都可以判断,

从同一台电脑上读取同样多行的字母,相对来说,第一种方法花费了8.4s,第三种方法花费了1.6s。从实验的角度上大概是第三种方法相对性能更优。

但具体是split()性能更优还是[:-1].strip()性能更优,有待进一步学习。

 

python中去掉空行的问题