Уведомления

Группа в Telegram: присоединиться

#1 Окт. 12, 2019 20:06:17

gtlhbkkj
Зарегистрирован: 2019-09-20
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите. Область видимости имен.

У меня всего два модуля.
Первый модуль это главная программа, которая обращается к функциям в другом модуле. Вот главная программа.

 # начало парсинга
import requests
from bs4 import BeautifulSoup
import sys
sys.path.append("E:\\Python\\Learning\\Parce_functions")
spisok = []         # инициализация конечного массива
_tmpvar = ""        # инициализация переменной в которую загоняем REQUEST.TEXT
import F_Hydac_POST
_name_element = "pi3111"
spisok = F_Hydac_POST.start_parce(_name_element)
print("а вот и список от Хидака", spisok)

вот модуль с функциями
 # парсинг HYDAC
# функция для отправки веб запроса и записи результатов в файл
def fg_list_bot(_name_element, _output_file):
    _url = "https://www.hydac.com/de-de/nc/service/online-tools/betterfit.html?tx_hybetterfit_pi2%5Baction%5D=search&tx_hybetterfit_pi2%5Bcontroller%5D=Search&cHash=c662ac5f5387b650059f2ede4c291cec"
    # НА СЛЕДУЮЩЕКЙ СТРОКЕ ОШИБКА НЕ НАХОДИТ РЕКВЕСТ
    s = requests.Session()
    _headers = {"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:69.0) Gecko/20100101 Firefox/69.0"}
    _data = {"tx_hybetterfit_pi2[query]": _name_element}
    r = requests.post(_url, data=_data, headers = _headers)
    with open(_output_file, "w") as f: f.write(r.text)
    print(r.status_code)
    return(r.text)
def start_parce(_name_element):
    _output_file = "IDLE_HYDAC.html"
    _tmpvar = fg_list_bot(_name_element, _output_file)

вот код ошибки
 ================= RESTART: E:\Python\Learning\start_parce.py =================
Traceback (most recent call last):
  File "E:\Python\Learning\start_parce.py", line 10, in <module>
    spisok = F_Hydac_POST.start_parce(_name_element)
  File "E:\Python\Learning\Parce_functions\F_Hydac_POST.py", line 81, in start_parce
    _tmpvar = fg_list_bot(_name_element, _output_file)
  File "E:\Python\Learning\Parce_functions\F_Hydac_POST.py", line 5, in fg_list_bot
    s = requests.Session()
NameError: name 'requests' is not defined

как мне сделать заимпортированную библиотеку REQUESTS видимой из модуля с функциями ?

Офлайн

#2 Окт. 12, 2019 20:30:11

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 154
Репутация: +  6  -
Профиль   Отправить e-mail  

помогите. Область видимости имен.

import requests в F_Hydac_POST.py добавте

Офлайн

#3 Окт. 12, 2019 20:38:24

gtlhbkkj
Зарегистрирован: 2019-09-20
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите. Область видимости имен.

AD0DE412
import requests в F_Hydac_POST.py добавте

есть такой старый анекдот:
К Брежневу приходит рапорт: куры в стране дохнут.
— Дохнут? — говорит Брежнев, — Ну, нарисуйте перед каждой курой красный квадрат.
- Всё равно дохнут!
- Ну, тогда в квадрате зелёный круг.
- Всё равно дохнут!
- Хм. Ну, а если в нём ещё синий треугольник?
- Все куры подохли.
— Какая досада, — говорит Брежнев, — а у меня ещё столько интересных идей осталось.

Офлайн

#4 Окт. 12, 2019 20:58:52

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 154
Репутация: +  6  -
Профиль   Отправить e-mail  

помогите. Область видимости имен.

 s = requests.Session()
NameError: name 'requests' is not defined
!!! name ‘requests’ is not defined !!!

Отредактировано AD0DE412 (Окт. 12, 2019 21:00:58)

Офлайн

#5 Окт. 12, 2019 21:00:21

gtlhbkkj
Зарегистрирован: 2019-09-20
Сообщения: 26
Репутация: +  0  -
Профиль   Отправить e-mail  

помогите. Область видимости имен.

AD0DE412
name ‘requests’ is not defined
спасибо помогло
второй модуль действительно не знает о том что первый модуль импортировал requests

Отредактировано gtlhbkkj (Окт. 12, 2019 21:01:07)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version