#python #python-import #python-module
#python #python-импорт #python-module
Вопрос:
Я хочу создать модуль Python со следующим импортом. Однако я не уверен, как структурировать файлы / каталоги, чтобы получить желаемый эффект?
import one
from one import two
from one.two import three
from one.two.three import four
Очевидно, что эти импортируемые файлы не будут существовать в том же файле, как показано выше, но я хочу иметь гибкость для импорта таким образом.
Ответ №1:
main/
one/
__init__.py
two/
__init__.py
three.py
внутри three.py
создайте функцию four
, что-то вроде:
def four():
print ('this is four')
Теперь добавьте путь к main
каталогу в PYTHON_PATH
Примечание: вам нужны пустые __init__.py
файлы в каждой папке, чтобы python отслеживал эти папки.
Ответ №2:
Что вам нужно сделать, это сначала настроить ваше дерево каталогов с обычными папками. Таким образом, у вас будет папка три в папке два в папке один. Затем в каждую папку поместите пустой файл python с именем
__init__.py
который скажет python рассматривать это как папку пакета. Затем он должен работать так, как вы этого хотите.
Подробнее читайте здесь:https://docs.python.org/3/tutorial/modules.html#packages
Ответ №3:
я надеюсь, что это помогло бы для любого каталога модулей
__init__.py
необходим файл, вы можете оставить его пустым, но он необходим. для любого другого файла создайте его версию .py, например: import one.example
потребуется example.py файл внутри «одного» каталога. надеюсь, это то, что вы искали:
|__ one
|
|__ __init__.py
|
|__two
|
|__ __init__.py
|
|__three
|
|__ __init__.py
|
|__four
|
|__ __init__.py