Если вы получаете такую ошибку python, как это:
AttributeError: 'str' object has no attribute 'some_method'
Вы, вероятно, случайно отравили свой объект, перезаписав свой объект строкой.
Как воспроизвести эту ошибку в python с несколькими строками кода:
#!/usr/bin/env python
import json
def foobar(json):
msg = json.loads(json)
foobar('{"batman": "yes"}')
Запустите его, который печатает:
AttributeError: 'str' object has no attribute 'loads'
Но измените имя variablename, и он отлично работает:
#!/usr/bin/env python
import json
def foobar(jsonstring):
msg = json.loads(jsonstring)
foobar('{"batman": "yes"}')
Эта ошибка возникает, когда вы пытались запустить метод внутри строки. Строка имеет несколько методов, но не тот, который вы вызываете. Поэтому перестаньте пытаться вызвать метод, который String не определяет, и начать искать, где вы отравили ваш объект.