Я продолжаю получать ошибку ссылки на локальную переменную перед присваиванием!как мне решить это? - PullRequest
0 голосов
/ 26 сентября 2019

спасибо, что нашли время, чтобы помочь мне.Я пишу API-интерфейс очистки веб-страниц в Django, но последние 5 дней получаю ужасную ошибку!странная вещь в том, что в macOS нет абсолютно никакой ошибки, и когда я внедряю в AWS, она выдает ошибку обращения к переменной!В Ubuntu есть Python 3.6.8, а в MacOS - Python 3.6.6

Я уже пробовал разные методы, но сейчас не могу придумать ни одного!очищенные данные, которые должны быть возвращены, возвращаются нормально в macOS, но в Ubuntu я получаю удар!пожалуйста, помогите!

data_list = []
div_class = scrape_driver_2.find(class_ = 'c1_t2i')
daraz_products = scrape_driver.find_all(class_ = 'c2prKC')

for data_fragment in daraz_products: # iterate and find all classes 
    data_block = data_fragment.text.strip()  # Convert code to text
    formatted_block = data_block.replace('ADD TO CART', '')

    second_iterated_block = formatted_block.replace('%', '')
    third_iterated_block = second_iterated_block.replace(')Pakistan', ')-Pakistan')

    fourth_iterated_block = third_iterated_block.replace('Pakistan', '-Pakistan')

    data_list.append(fourth_iterated_block)
    high_data = [{"Timestamp": time_stamp,
                  "TS Token": ts_token,
                  "Status": sitrep},
                  data_list] 

return Response({"data": high_data})
engine_initializer.close()

Я получаю ошибку: UnboundLocalError в / api / фильтр большого бюджета / локальная переменная 'high_data', на которую ссылается перед назначением

1 Ответ

0 голосов
/ 26 сентября 2019

Держите high_data вне цикла и устанавливайте его после всех итераций перед возвратом.

data_list = []
div_class = scrape_driver_2.find(class_ = 'c1_t2i')
daraz_products = scrape_driver.find_all(class_ = 'c2prKC')

for data_fragment in daraz_products: # iterate and find all classes 
    data_block = data_fragment.text.strip()  # Convert code to text
    formatted_block = data_block.replace('ADD TO CART', '')

    second_iterated_block = formatted_block.replace('%', '')
    third_iterated_block = second_iterated_block.replace(')Pakistan', ')-Pakistan')

    fourth_iterated_block = third_iterated_block.replace('Pakistan', '-Pakistan')

    data_list.append(fourth_iterated_block)



high_data = [{"Timestamp": time_stamp,
                  "TS Token": ts_token,
                  "Status": sitrep},
                  data_list] 

return Response({"data": high_data})

РЕДАКТИРОВАТЬ: упрощенный пример версии с фиктивными данными, согласно комментариям этого поста

data_list = []

daraz_products = ["prod1","prod2","prod3"]

for data_fragment in daraz_products:
     data_list.append(data_fragment)

print data_list

data_list будет содержать все продукты из daraz_products

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...