[Sugar-devel] Consulta
Alan Jhonn Aguiar Schwyn
alanjas at hotmail.com
Mon Sep 16 21:57:07 EDT 2013
Puede ser problema de rutas..En la documentación:
http://docs.python.org/2/library/functions.html#__import__
recomiendan el importlib.import_module()
Date: Mon, 16 Sep 2013 22:29:49 -0300
From: fdanesse at gmail.com
To: alanjas at hotmail.com
CC: sugar-devel at lists.sugarlabs.org; walter.bender at gmail.com
Subject: Re: [Sugar-devel] Consulta
Lo que más me extraña es que esto: x = __import__("paquete")Funciona bien en el interprete pero no si está dentro de un archivo.
El 16 de septiembre de 2013 22:17, Flavio Danesse <fdanesse at gmail.com> escribió:
A ver:
Tengo un directorio con archivos .py y un __init__.py o sea un paquete.
Yo quiero importar el paquete como tal para poder hacer cosas como esta:
import JAMediaObjectsJAMediaObjectsPath = JAMediaObjects.__path__[0]
Eso funciona bien desde el interprete y desde un archivo python, pero cuando no se como se llama el paquete y viene dentro de un string, la única forma que he encontrado es hacerlo con __import__(str).
Eso funciona bien con cosas de python y gtk por ejemplo:__import__('os')__import__('gtk')
Pero no funciona con mis propios paquetes.
El 16 de septiembre de 2013 21:52, Alan Jhonn Aguiar Schwyn <alanjas at hotmail.com> escribió:
Yo suelo usar el "imp".
Si tenés un archivo llamado "modulo.py" dentro:
def imprimir(x):
print x
Desde python podés hacer:
import impmod = imp.load_source('modulo', 'modulo.py')f = getattr(mod, 'imprimir')
y luego la usás como cualquier función:
f(4)
Saludos!
alan
> Date: Mon, 16 Sep 2013 20:36:29 -0400
> From: walter.bender at gmail.com
> To: fdanesse at gmail.com
> CC: sugar-devel at lists.sugarlabs.org
> Subject: Re: [Sugar-devel] Consulta
>
> Try:
>
> from importlib import import_module
>
> x = import_module("package", [])
>
> 2013/9/16 Flavio Danesse <fdanesse at gmail.com>:
> > En el interprete de python obtengo un paquete de la siguiente forma:
> >
> > x = __import__("paquete")
> >
> > Pero si ese código intento ejecutarlo dentro de un archivo python, no
> > funciona.
> > Funciona solo con paquetes y modulos de python y gtk, pero no con paquetes
> > personalizados.
> >
> > Alguien sabe como se hace?
> >
> > _______________________________________________
> > Sugar-devel mailing list
> > Sugar-devel at lists.sugarlabs.org
> > http://lists.sugarlabs.org/listinfo/sugar-devel
> >
>
>
>
> --
> Walter Bender
> Sugar Labs
> http://www.sugarlabs.org
> _______________________________________________
> Sugar-devel mailing list
> Sugar-devel at lists.sugarlabs.org
> http://lists.sugarlabs.org/listinfo/sugar-devel
_______________________________________________
Sugar-devel mailing list
Sugar-devel at lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel
_______________________________________________
Sugar-devel mailing list
Sugar-devel at lists.sugarlabs.org
http://lists.sugarlabs.org/listinfo/sugar-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sugarlabs.org/archive/sugar-devel/attachments/20130916/52a6affe/attachment.html>
More information about the Sugar-devel
mailing list