Я пытаюсь динамически импортировать скрипт Python foo.py
в другой исполняемый скрипт, который находится в глубоко вложенной папке. Я использую
import os
sys.path.insert(0, '../../../../.')
from foo import Bar
, это работает, и я могу с удовольствием использовать Bar
.
Я бы хотел, чтобы скрипт динамически определял глубину папки, например
import os
root_path = os.path.relpath(os.popen("git rev-parse --show-toplevel").read()).replace("../reponame", ".")
print(root_path) # prints '../../../../.'
sys.path.insert(0, root_path)
from foo import Bar
Однако это не работает, скрипт жалуется, что не может найти Bar при запуске.
Почему это так?