Рубрики
Без рубрики

Python – Как импортировать модули из другой папки?

Наиболее пифитонным способом импортировать модуль из другой папки – разместить пустой файл с именем __init__.py в эту папку и использовать относительный путь с точечной обозначением. Например, модуль в родительской папке будет импортирован с .. Import Module. __Init__.py файловые сигналы в Python, что … Python – как импортировать модули из другой папки? Подробнее “

Автор оригинала: Chris.

Самый питонический путь к Импортируйте модуль из другой папки Чтобы разместить пустой файл с именем __init__.py в эту папку и использовать Относительный путь с точечной обозначением Отказ Например, модуль в родительской папке будет импортирован с от .. Импорт модуль Отказ __init__.py Файловые сигналы в Python, что папка должна рассматриваться как упаковка .

Проблема : Как импортировать файл или модуль из другой папки или каталога в Python?

Пример : Скажем, вы дали следующую структуру папки:

application
 ├── app
 │   └── folder
 │       └── file_1.py
 └── app2
     └── some_folder
         └── file_2.py

Ваша цель – импортировать функции из file_1.py в file_2.py Отказ

Метод 1: sysspath.append ()

Первый метод добавляет путь file_1.py к переменной пути системы.

# file_2.py
import sys
sys.path.append('/.../application/app/folder')

import file_1

Обратите внимание, что вам нужно заменить первые три точки в '/.../Приложение/Приложение/Папка' с бетонным путем к Приложения папка.

Кстати, не стесняйтесь присоединиться к моей бесплатной академии электронной почты и Загрузите свои читы Python Cheat здесь:

Это весело – и тысячи финдстров сказали мне, что они любят чит-листы!

Хорошо, давайте перейдем к слегка модифицированному решению этой проблемы:

Способ 2: sys.path.insert ()

Подобная альтернатива – вставить путь file_1.py Чтобы расположить 1 из переменной пути системы. Это гарантирует, что он загружен с более высоким приоритетом и избегает некоторых Наименование Конфликты:

# file_2.py
import sys
sys.path.insert(1, '/.../application/app/folder')

import file

Опять же, замените первые три точки в '/.../application/app/folder' с бетонным путем к Приложения папка.

Способ 3: точечная запись с __init__.py

Вы также можете сделать следующий трюк, создавая новый пакет.

# file_2.py
from application.app.folder.file_1 import func_name

Однако убедитесь, что включите пустой __init__.py файл в каталоге. Этот файл говорит Python для обработки каталога в качестве пакета. Это считается самым питонным способом решения этой проблемы.

Метод 4: ImportLib

Альтернатива не так пифитона – использовать ImportLib модуль:

import importlib.util as ilu

folder = '/.../application/app/folder'
file = 'file_2'

spec = ilu.spec_from_file_location(file, folder)
your_lib = ilu.module_from_spec(spec)
spec.loader.exec_module(your_lib)

your_lib.function()

использованная литература

Куда пойти отсюда?

Достаточно теории, давайте познакомимся!

Чтобы стать успешным в кодировке, вам нужно выйти туда и решать реальные проблемы для реальных людей. Вот как вы можете легко стать шестифункциональным тренером. И вот как вы польские навыки, которые вам действительно нужны на практике. В конце концов, что такое использование теории обучения, что никто никогда не нуждается?

Практические проекты – это то, как вы обостряете вашу пилу в кодировке!

Вы хотите стать мастером кода, сосредоточившись на практических кодовых проектах, которые фактически зарабатывают вам деньги и решают проблемы для людей?

Затем станьте питоном независимым разработчиком! Это лучший способ приближения к задаче улучшения ваших навыков Python – даже если вы являетесь полным новичком.

Присоединяйтесь к моему бесплатным вебинаре «Как создать свой навык высокого дохода Python» и посмотреть, как я вырос на моем кодированном бизнесе в Интернете и как вы можете, слишком от комфорта вашего собственного дома.

Присоединяйтесь к свободному вебинару сейчас!

Работая в качестве исследователя в распределенных системах, доктор Кристиан Майер нашел свою любовь к учению студентов компьютерных наук.

Чтобы помочь студентам достичь более высоких уровней успеха Python, он основал сайт программирования образования Finxter.com Отказ Он автор популярной книги программирования Python одноклассники (Nostarch 2020), Coauthor of Кофе-брейк Python Серия самооставленных книг, энтузиаста компьютерных наук, Фрилансера и владелец одного из лучших 10 крупнейших Питон блоги по всему миру.

Его страсти пишут, чтение и кодирование. Но его величайшая страсть состоит в том, чтобы служить стремлению кодер через Finxter и помогать им повысить свои навыки. Вы можете присоединиться к его бесплатной академии электронной почты здесь.

Оригинал: “https://blog.finxter.com/python-how-to-import-modules-from-another-folder/”