2012-04-22 14 views

Respuesta

25

Si todos los directorios que se producen son Python paquetes, es decir, todos ellos contienen __init__.py, entonces usted puede utilizar

from ..bar_dir import bar 

Si los directorios no son paquetes de Python, puede hacer esto por jugar un poco con sys.path, pero no deberías.

+0

esto no funcionará si desea importar en un paquete no y simplemente ejecuta una pitón de un hermano. En este caso, sys.path.append es el camino a seguir – mhstnsc

+1

@mhstnsc Diría que en este caso ha hecho algo mal, pero si se trata de un guión hacky, podría estar bien con 'sys.path'. –

+0

No está mal, pero cuando se ejecuta el módulo principal no se pueden realizar importaciones relativas. https://www.python.org/dev/peps/pep-0366/ – mhstnsc

12

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

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