Python: импортировать модули, а затем поделиться несколькими файлами
У меня есть файлы, как показано ниже,
file1.py
file2.py
file3.py
Скажем, что все три используют
lib7.py
lib8.py
lib9.py
В настоящее время каждый из трех файлов имеет строки
import lib7
import lib8
import lib9
Как настроить мой каталог/код таким образом, чтобы библиотеки импортировались только один раз, а затем делились между тремя файлами?
Ответы
Ответ 1
Вам придется импортировать что-то, по крайней мере, один раз для каждого файла. Но вы можете настроить его так, чтобы это была одна строка импорта:
Вероятно, самый чистый способ - создать папку lib
, переместить туда все lib?.py
и добавить в нее пустой файл с именем __init__.py
.
Таким образом, вы создаете пакет из ваших файлов lib?.py
. Затем его можно использовать так:
import lib
lib.lib7
В зависимости от того, где вы хотите оказаться, вы также можете захотеть иметь некоторый код в __init__.py
:
from lib7 import *
from lib8 import *
from lib9 import *
Таким образом, вы получаете все символы из отдельной lib?.py
в одной import lib
:
import lib
lib.something_from_lib7
Ответ 2
Импортируйте каждый из них в отдельный модуль, а затем импортируйте это:
lib.py
:
import lib7
import lib8
import lib9
В каждом из файлов (file1.py
, file2.py
, file3.py
) просто используйте import lib
. Конечно, вы должны ссылаться на них с помощью lib.lib7
- чтобы этого избежать, вы можете использовать from lib import *
.