web-dev-qa-db-fra.com

Comment importer un script Python à partir d'un répertoire frère?

Voici la structure du répertoire:

parent_dir/
    foo_dir/
        foo.py
    bar_dir/
        bar.py

Comment importer bar.py dans foo.py?

43
Orcris

Si tous les répertoires présents sont Python packages, c'est-à-dire qu'ils contiennent tous __init__.py, alors vous pouvez utiliser

from ..bar_dir import bar

Si les répertoires ne sont pas Python, vous pouvez le faire en jouant avec sys.path, mais vous ne devriez pas.

40
Sven Marnach

Vous pouvez utiliser les modules sys et os pour les importations généralisées. Dans foo.py commencez par les lignes

import sys
import os
sys.path.append(os.path.abspath('../bar_dir'))
import bar
23
prrao