Найти - Пользователи
Полная версия: помогите. Область видимости имен.
Начало » Python для новичков » помогите. Область видимости имен.
1
gtlhbkkj
У меня всего два модуля.
Первый модуль это главная программа, которая обращается к функциям в другом модуле. Вот главная программа.
 # начало парсинга
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 видимой из модуля с функциями ?
AD0DE412
import requests в F_Hydac_POST.py добавте
gtlhbkkj
AD0DE412
import requests в F_Hydac_POST.py добавте

есть такой старый анекдот:
К Брежневу приходит рапорт: куры в стране дохнут.
— Дохнут? — говорит Брежнев, — Ну, нарисуйте перед каждой курой красный квадрат.
- Всё равно дохнут!
- Ну, тогда в квадрате зелёный круг.
- Всё равно дохнут!
- Хм. Ну, а если в нём ещё синий треугольник?
- Все куры подохли.
— Какая досада, — говорит Брежнев, — а у меня ещё столько интересных идей осталось.
AD0DE412
 s = requests.Session()
NameError: name 'requests' is not defined
!!! name ‘requests’ is not defined !!!
gtlhbkkj
AD0DE412
name ‘requests’ is not defined
спасибо помогло
второй модуль действительно не знает о том что первый модуль импортировал requests
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB