簡體   English   中英

AttributeError:“ NoneType”對象沒有屬性“ group” {for instagram}

[英]AttributeError: 'NoneType' object has no attribute ‘group’ {for instagram}

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'

此錯誤表示該值不包含任何內容,即它沒有值。 分組之前檢查它。

從回溯中可以明顯看出,下一行是造成異常的原因。

json_info = json.loads(re.search('{"activity.+show_app', info.text, re.DOTALL).group(0)+'":""}')

看來您正在嘗試從info.text獲取一些特定的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")

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM