我的代码如下:
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行上收到语法错误。为什么第一个代码块可以工作,而第二个简单的代码块却失败了?
答案 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
关键字,而不要同时应用lstrip
和rstrip
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())