Lokesh-mac-mini-pro-2:instabot.py-master Lokeshmacminipro$ python example.py
02.09.2018_10:03 Instabot v1.2.0 started at 02.09.2018 10:03:
02.09.2018_10:03 Trying to login as moneshrallapalli...
Traceback (most recent call last):
File "example.py", line 52, in <module>
unfollow_whitelist=['example_user_1', 'example_user_2'])
File "/Users/lokemone/Desktop/instabot.py-master/src/instabot.py", line 234, in __init__
self.login()
File "/Users/lokemone/Desktop/instabot.py-master/src/instabot.py", line 303, in login
self.user_id = ui.get_user_id_by_login(self.user_login)
File "/Users/lokemone/Desktop/instabot.py-master/src/userinfo.py", line 42, in get_user_id_by_login
json_info = json.loads(re.search('{"activity.+show_app', info.text, re.DOTALL).group(0)+'":""}')
AttributeError: 'NoneType' object has no attribute 'group'
Lokesh-mac-mini-pro-2:instabot.py-master Lokeshmacminipro$
请告诉我们如何避免
AttributeError:'NoneType'对象没有属性'group'
答案 0 :(得分:0)
此错误表示该值不包含任何内容,即没有值。分组之前先检查一下。
答案 1 :(得分:0)
从回溯中可以明显看出,下一行是造成异常的原因。
json_info = json.loads(re.search('{"activity.+show_app', info.text, re.DOTALL).group(0)+'":""}')
您似乎正在尝试从info.text
获取一些特定的内容,然后使用它制作一个json。在这种情况下,您的方法需要进行一些修改。
首先修复搜索部分。应该是
matched_string = re.search('activity.+show_app', info.text, re.DOTALL).group(0)
您得到的特定异常是由于此行。您正在搜索的模式不在该字符串中。因此,您可以在其中添加一个try / catch或if / else来避免这种情况。
然后通过执行以下操作将其显式设置为有效的json:
valid_json = "{" + matched_string + ": ''}"
最后,使用json
模块加载它。
valid_dict = json.loads(valid_json)
因此,只需一行,
try:
some_var = json.loads("{" + re.search('activity.+show_app', info.text, re.DOTALL).group(0) + ": '' }")
except AttributeError:
print("Couldn't find that specific pattern")
希望这会有所帮助。