1. Импорт функции из файла, который находится в каталоге на уровень ниже относительно текущего файл
project/
│
├── main.py # текущий файл, где требуется импорт
└── subfolder/
└── my_module.py # файл, из которого нужно импортировать функцию
В main.py:
import sys import os # Добавляем путь к подкаталогу # os.path.dirname(__file__) возвращает путь к текущему файлу (main.py) # os.path.join(..., 'subfolder') добавляет подкаталог к пути # sys.path.append(...) добавляет путь к sys.path, чтобы Python мог найти модуль my_module sys.path.append(os.path.join(os.path.dirname(__file__), 'subfolder')) # Импортируем нужную функцию из my_module from my_module import my_function # Используем my_function my_function()
2. Импорт функции из файла, который находится в каталоге на уровень выше относительно текущего файл
project/
│
├── main.py # файл, из которого нужно импортировать функцию
└── subfolder/
└── my_module.py # текущий файл, где нужно сделать импорт
В main.py:
import sys import os # Добавляем путь на уровень выше к sys.path # os.path.dirname(__file__) возвращает текущий каталог (subfolder) # os.path.dirname(os.path.dirname(__file__)) поднимается на уровень выше, к корневому каталогу (project) # sys.path.append(...) добавляет корневой каталог project в пути поиска модулей sys.path sys.path.append(os.path.dirname(os.path.dirname(__file__))) # Импортируем нужную функцию from main import main_function # Вызываем функцию main_function()
Комментарии
0Нашли ошибку или хотите дополнить материал?