Подтвердить что ты не робот

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()
4b9b3361

Ответ 1

Если вы хотите игнорировать строки только с пробелами:

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

Пустая строка - это значение False.

Или если вы действительно хотите только пустые строки:

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

Ответ 2

Я использую следующий код для проверки пустой строки с пробелами или без них.

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

Ответ 3

line.strip() == ''

Или, если вы не хотите "съедать" строки, состоящие из пробелов:

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

Ответ 4

Вы должны открыть текстовые файлы, используя rU, чтобы символы новой строки были правильно преобразованы, см. http://docs.python.org/library/functions.html#open. Таким образом, нет необходимости проверять \r\n.

Ответ 5

Я считаю более надежным использовать регулярные выражения:

import re

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

Это будет соответствовать в Windows/unix. Кроме того, если вы не уверены в строках, содержащих только пробел char, вы можете использовать '\s*\r?\n' как выражение