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()
408   5  

5 ответов:

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

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

пустая строка является ложным значением.

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

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

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

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

или, если вы не хотите "съедать" линии, состоящей из помещений:

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

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

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

import re

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

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

Comments

    Ничего не найдено.