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

use*_*198 74 python

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

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

new statement
asdasdasd
asdasdasdasd

new statement
asdasdasdasd
asdasdasdasd
Run Code Online (Sandbox Code Playgroud)

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

使用此代码它似乎工作,谢谢大家!

for line in x:

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

x.close()
Run Code Online (Sandbox Code Playgroud)

ret*_*ile 106

如果要忽略仅包含空格的行:

if not line.strip():
    ... do something
Run Code Online (Sandbox Code Playgroud)

空字符串是False值.

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

if line in ['\n', '\r\n']:
    ... do  something
Run Code Online (Sandbox Code Playgroud)

  • 我想指出接受的答案有一个错误:if line.strip():... #do something忽略带有空格的行,即空格,制表符和空行.这就是为什么只有第二个为原始海报工作的原因:'不'必须被删除. (4认同)
  • 如果不是line.strip():...做点什么.不应该继续吗?因为如果不是line.strip()实际上意味着该行为空,那么就无法从中删除任何内容,因此忽略或继续.第一部分不是line.strip()捕获所有空行 (3认同)

小智 21

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

if len(line.strip()) == 0 :
    # do something with empty line
Run Code Online (Sandbox Code Playgroud)


Fre*_*Foo 11

line.strip() == ''
Run Code Online (Sandbox Code Playgroud)

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

line in ('\n', '\r\n')
Run Code Online (Sandbox Code Playgroud)