Как импортировать из модуля в родительский каталог (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()
Ммм?
Это решение грязное, но единственный способ избежать его - это реструктурировать ваш проект, и это может помочь.