python: how to check if a line is an empty line

Question:

Trying to figure out how to write an if cycle to check if a line is empty.

The file has many strings, and one of these is a blank line to separate from the other statements (not a ""; is a carriage return followed by another carriage return I think)

new statement
asdasdasd
asdasdasdasd

new statement
asdasdasdasd
asdasdasdasd

Since I am using the file input module, is there a way to check if a line is empty?

Using this code it seems to work, thanks everyone!

for line in x:

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

x.close()
Asked By: user1006198

||

Answers:

line.strip() == ''

Or, if you don’t want to “eat up” lines consisting of spaces:

line in ('n', 'rn')
Answered By: Fred Foo

If you want to ignore lines with only whitespace:

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

The empty string is a False value.

Or if you really want only empty lines:

if line in ['n', 'rn']:
    ... do  something
Answered By: retracile

You should open text files using rU so newlines are properly transformed, see http://docs.python.org/library/functions.html#open. This way there’s no need to check for rn.

Answered By: hochl

I use the following code to test the empty line with or without white spaces.

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

I think is more robust to use regular expressions:

import re

for i, line in enumerate(content):
    print line if not (re.match('r?n', line)) else pass

This would match in Windows/unix. In addition if you are not sure about lines containing only space char you could use 's*r?n' as expression

Answered By: alemol
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.