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 ответов:
Если вы хотите игнорировать строки только с пробелами:
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