python:如何检查一行是否为空行

时间:2011-10-25 22:08:43

标签: python

试图找出如何写一个if循环来检查一行是否为空。

该文件有很多字符串,其中一个是与其他语句分开的空白行(不是“”;是一个回车符后跟另一个回车符我认为)

new statement
asdasdasd
asdasdasdasd

new statement
asdasdasdasd
asdasdasdasd

由于我使用的是文件输入模块,有没有办法检查一行是否为空?

使用此代码似乎有效,谢谢大家!

for line in x:

    if line == '\n':
        print "found an end of line"

x.close()

5 个答案:

答案 0 :(得分:96)

如果你想忽略只有空格的行:

if not line.strip():
    ... do something

空字符串是假值。

或者如果你真的只想要空行:

if line in ['\n', '\r\n']:
    ... do  something

答案 1 :(得分:20)

我使用以下代码测试带有或不带空格的空行。

if len(line.strip()) == 0 :
    # do something with empty line

答案 2 :(得分:11)

line.strip() == ''

或者,如果你不想“吃掉”由空格组成的行:

line in ('\n', '\r\n')

答案 3 :(得分:1)

您应该使用rU打开文本文件,以便正确转换换行符,请参阅http://docs.python.org/library/functions.html#open。这样就无需检查\r\n

答案 4 :(得分:1)

我认为使用正则表达式更加健壮:

9200

这将在Windows / unix中匹配。另外,如果您不确定只包含空格字符的行,可以使用import re for i, line in enumerate(content): print line if not (re.match('\r?\n', line)) else pass 作为表达式