Как импортировать из модуля в родительский каталог (Python)

У меня есть структура файла:

directory_1/
    file_1.py
    directory_2/
        directory_3/
            file_2.py

Как я могу импортировать функцию из file_1 в file_2?

Другие ответы заставили меня попробовать from ...file_1 import funпосле добавления __init__.py подать в directory_1, но это дает мне ValueError: attempted relative import beyond top-level package, Я также пытался from directory_1.file_1 import fun но это дало мне ModuleNotFound ошибка.

Если бы кто-нибудь мог помочь, я был бы очень благодарен!

1 ответ

Решение

import os
import sys
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "../..")))

from file_1 import fun
fun()

Ммм?

Это решение грязное, но единственный способ избежать его - это реструктурировать ваш проект, и это может помочь.

Другие вопросы по тегам