¿Cómo importo un script de Python desde un directorio de hermanos?

Aquí está la estructura del directorio:

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

¿Cómo importo bar.py en foo.py?

Si todos los directorios que ocurren son paquetes de Python, es decir, todos contienen __init__.py , entonces puede usar

 from ..bar_dir import bar 

Si los directorios no son paquetes de Python, puede hacer esto jugando con sys.path , pero no debería.

Puede utilizar los módulos sys y os para las importaciones generalizadas. En foo.py comienza con las líneas.

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