Как импортировать из модуля в родительский каталог (Python) - PullRequest
0 голосов
/ 05 января 2019

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

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 Ответ

0 голосов
/ 05 января 2019

Решение

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

from file_1 import fun
fun()

Ммм?

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

...