Настройка каталога для модулей python

#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