Это, по-видимому, обычная ошибка в Python, и я нашел много случаев, когда люди спрашивали об аналогичных, но потратили последнее (длительное время) на то, чтобы попробовать те решения, в которых они казались применимыми, и не повезло, поэтому прибегая к просьбе выяснить, что мне не хватает.AttributeError: экземпляр не имеет атрибута
Я получаю AttributeError: WebHandler экземпляр не имеет атрибута «SEARCH_STR»
Это, кажется, это один конкретный метод, в любое время я называю любой из переменных класса, установленных в ___init___ из этого метода Я получаю эту ошибку. Я извлек его в тестовый файл как простую функцию, а не метод класса, и он отлично работает, и я несколько раз пытался отложить все это, чтобы убедиться, что это не так, поэтому я нахожусь в потеря на этом.
Я использую Python 2.7 и TextWrangler, если любой из них полезны (TextWrangler не дал мне никаких проблем в 3-х лет, как это, но фигурный то должно быть включено)
import requests
import re
class WebHandler():
def ___init___(self):
self.urllist = []
self.search_str = re.compile(r'http[s]?://(?:[a-zA-Z]|[0-9]|[[email protected]&+]|[!*\(\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+', re.I|re.M)
def set_urls(self, test, data):
for line in test[11:]:
if (("even" in line) or ("odd" in line)):
match = re.search(self.search_str, line)
self.urllist.append(match.group(0))
Другая вещь, которую я пробовал, если скопировать атрибуты из ___init___ и просто сделать их локальными для set_urls() и называть их без себя, что так оно работает должным образом и не бросать какие-либо ошибки, которые сбивает с толку меня еще больше.
Не знаю, чего мне не хватает. Благодаря!
Спасибо! Это была проблема. –
@KBirch Добро пожаловать. Поскольку вы, похоже, относительно новы к сайту, обратите внимание, что вы можете повысить все ответы, которые вы нашли полезными. Ответ TigerHawkT3, в частности, в основном идентичен этому. –
спасибо, отмечены! И поддержал тебя и его. Все еще изучаю свой путь и ищу свободное время, когда я могу внести свой вклад. –