Как лучше использовать библиотеки python в нескольких файлах с кодом?
У меня есть библиотеки, код у меня на нескольких файлах: лучше ли хранить импорты в одном файле и вызывать этот файл в каждом файле с кодом? Я просто не знаю, как сделать удобнее, потому что одни библиотеки нужны в одном файле, другие - в другом
from bs4 import BeautifulSoup as bs # Теперь не нужно писать BeautifulSoup(resp.text, 'lxml') а можно bs(resp.text, 'lxml')
import requests # Все имена находящиеся в модуле requests теперь видны в нашем файле.
resp = requests.get(url) # Так как сделали лишь через import, - нам надо брать данные именем модуля.
sp = bs(resp.text, 'lxml')
Все это можете прочитать в любой книжке по пайтану, либо в официальной доке. Используйте импорты лишь в том файле, где они нужны.
snxx, я имел ввиду, что у меня есть импорты (пример): import BeautifulSoup
import requests
import asyncio
import random
И большинство этих импортов я использую в других файлах с кодом (код разделен на файлы). Могу ли я создать файл imports.py, сунуть туда импорты и импортировать один этот файл в файлы с кодом? (from imports import *)
Dream, а зачем такое делать? Если Ваша структура папок/файлов позволяет, и ничего не ломается, - значит можно. Но импортировать через такой модуль будет проблема, ибо, если это Ваши модули, Вам придется корректно их настроить, чтобы они друг-друга видели.
Dream, импортируйте только там, где это необходимо. Даже если один и тот же модуль будет импортироваться в нескольких файлах. По сути считывание импорта происходит только один раз, при самом первом импорте. Потом уже вы работаете с закэшированными данными, если выражаться самым простым языком. Прочитайте об этом в первом томе Лутца.
Михаил, понял, это затрагивает случай с "винтиками"? Как например в Discord - Cogs. Есть основной файл с основным кодом - и дополнение в винтиках. По-сути, в основном файле и винтиках - нужен один импорт, чтобы код работал.
Импортируй как обычно, в каждом файле.
Универсальный файл с импортами только осложнит дело, но не даст никакого выигрыша в читаемости кода, так как в разных файлах будут требоваться разные модули.
Также посоветую придерживаться норматива PEP8 в плане порядка импорта:
Сначала импорты стандартных модулей.
Потом импорты сторонних библиотек (то что ставил через pip).
В последнюю очередь импорты модулей из твоего проекта.
В каждой секции элементы можно упорядочить по алфавиту, если нет особых причин импортировать их в другом порядке.