检查IF中的空str

时间:2019-02-17 13:29:09

标签: python python-3.x

我的代码如下:

https://myapp.somedomain.com:443

这很好,我需要IF在加载到列表之前检查空白结果值。

我最初将其写为:

for result in s.find_all(attrs={"ng-bind-html":"entry.result"}):
    if result.text.rstrip().lstrip() == '':
        0 
    else:
        l_result.append(result.text.rstrip().lstrip())

但是我在IF行上收到语法错误。为什么第一个代码块可以工作,而第二个简单的代码块却失败了?

1 个答案:

答案 0 :(得分:0)

在python中,您只需使用单词not来取反。 <>在python 3中不是有效的python语法。(已更新)

您的代码:

for result in s.find_all(attrs={"ng-bind-html":"entry.result"}):
    if result.text.rstrip().lstrip() <> '': #invalid
        l_result.append(result.text.rstrip().lstrip())

if result.text.rstrip().lstrip() <> '':

可以正确地写为

if not result.text.rstrip().lstrip() == '':

或更妙的是:

if result.text.rstrip().lstrip():

这取决于非空字符串的真实性。 (空字符串为Falsey,非空字符串为True)

请注意,您也可以只使用strip关键字,而不要同时应用lstriprstrip

for result in s.find_all(attrs={"ng-bind-html":"entry.result"}):
    if result.text.strip(): #checks if non empty.
        l_result.append(result.text.strip())