script paquetes otro modulos lista libreria importar funciones from clases bibliotecas archivo another python openerp python-import

paquetes - lista de modulos de python



¿Cómo importar un archivo.py desde otro directorio? (2)

Puede agregar a la ruta del sistema en tiempo de ejecución:

import sys sys.path.insert(0, ''path/to/your/py_file'') import py_file

Esta es, con mucho, la forma más fácil de hacerlo.

Esta pregunta ya tiene una respuesta aquí:

Tengo esta estructura de archivos (directorio y después de archivos de flecha):

model -> py_file.py report -> other_py_file.py

__init__.py principal:

import model import report

directorio de modelos:

import py_file

directorio de informes:

import other_py_file

ahora en other_py_file quiero importar py_file , pero lo que sea que intente, doy el error de que no existe tal módulo.

He intentado esto: from model import py_file

Entonces: import py_file

Parece que estas dos carpetas no se ven. ¿Cuál es la manera de importar archivos desde otro directorio? ¿Necesito especificar algunas importaciones adicionales en los archivos init .py?


Python3:

import importlib.machinery loader = importlib.machinery.SourceFileLoader(''report'', ''/full/path/report/other_py_file.py'') handle = loader.load_module(''report'') handle.mainFunction(parameter)

Este método se puede usar para importar de cualquier forma que desee en una estructura de carpetas (hacia atrás, hacia adelante no importa realmente, utilizo rutas absolutas para estar seguro).

Felicitaciones a Sebastian por expresar una respuesta similar para Python2:

import imp foo = imp.load_source(''module.name'', ''/path/to/file.py'') foo.MyClass()