试图找出如何写一个if循环来检查一行是否为空。
该文件有很多字符串,其中一个是与其他语句分开的空白行(不是“”;是一个回车符后跟另一个回车符我认为)
new statement
asdasdasd
asdasdasdasd
new statement
asdasdasdasd
asdasdasdasd
由于我使用的是文件输入模块,有没有办法检查一行是否为空?
使用此代码似乎有效,谢谢大家!
for line in x:
if line == '\n':
print "found an end of line"
x.close()
答案 0 :(得分:96)
如果你想忽略只有空格的行:
if not line.strip():
... do something
空字符串是假值。
或者如果你真的只想要空行:
if line in ['\n', '\r\n']:
... do something
答案 1 :(得分:20)
我使用以下代码测试带有或不带空格的空行。
if len(line.strip()) == 0 :
# do something with empty line
答案 2 :(得分:11)
line.strip() == ''
或者,如果你不想“吃掉”由空格组成的行:
line in ('\n', '\r\n')
答案 3 :(得分:1)
您应该使用rU
打开文本文件,以便正确转换换行符,请参阅http://docs.python.org/library/functions.html#open。这样就无需检查\r\n
。
答案 4 :(得分:1)
我认为使用正则表达式更加健壮:
9200
这将在Windows / unix中匹配。另外,如果您不确定只包含空格字符的行,可以使用import re
for i, line in enumerate(content):
print line if not (re.match('\r?\n', line)) else pass
作为表达式