<div dir="ltr">A ver:<div><br></div><div>Tengo un directorio con archivos .py y un __init__.py o sea un paquete.</div><div>Yo quiero importar el paquete como tal para poder hacer cosas como esta:</div><div><br></div><div><div>
import JAMediaObjects</div><div>JAMediaObjectsPath = JAMediaObjects.__path__[0]</div></div><div><br></div><div>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).</div>
<div><br></div><div>Eso funciona bien con cosas de python y gtk por ejemplo:</div><div>__import__('os')</div><div>__import__('gtk')<br></div><div><br></div><div>Pero no funciona con mis propios paquetes.</div>
</div><div class="gmail_extra"><br><br><div class="gmail_quote">El 16 de septiembre de 2013 21:52, Alan Jhonn Aguiar Schwyn <span dir="ltr"><<a href="mailto:alanjas@hotmail.com" target="_blank">alanjas@hotmail.com</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div dir="ltr">Yo suelo usar el "imp".<div><br></div><div>Si tenés un archivo llamado "modulo.py" dentro:</div><div><br></div><div><div>def imprimir(x):</div><div><br></div><div>    print x</div>
<div><br></div><div>Desde python podés hacer:</div><div><br></div><div>import imp</div><div>mod = imp.load_source('modulo', 'modulo.py')</div><div>f = getattr(mod, 'imprimir')</div><div><br></div><div>
y luego la usás como cualquier función:</div><div><br></div><div>f(4)</div><div><br></div><div>Saludos!</div><div><br></div><div>alan</div><br><div>> Date: Mon, 16 Sep 2013 20:36:29 -0400<br>> From: <a href="mailto:walter.bender@gmail.com" target="_blank">walter.bender@gmail.com</a><br>
> To: <a href="mailto:fdanesse@gmail.com" target="_blank">fdanesse@gmail.com</a><br>> CC: <a href="mailto:sugar-devel@lists.sugarlabs.org" target="_blank">sugar-devel@lists.sugarlabs.org</a><br>> Subject: Re: [Sugar-devel] Consulta<div>
<div class="h5"><br>> <br>> Try:<br>> <br>> from importlib import import_module<br>> <br>> x = import_module("package", [])<br>> <br>> 2013/9/16 Flavio Danesse <<a href="mailto:fdanesse@gmail.com" target="_blank">fdanesse@gmail.com</a>>:<br>
> > En el interprete de python obtengo un paquete de la siguiente forma:<br>> ><br>> > x = __import__("paquete")<br>> ><br>> > Pero si ese código intento ejecutarlo dentro de un archivo python, no<br>
> > funciona.<br>> > Funciona solo con paquetes y modulos de python y gtk, pero no con paquetes<br>> > personalizados.<br>> ><br>> > Alguien sabe como se hace?<br>> ><br>> > _______________________________________________<br>
> > Sugar-devel mailing list<br>> > <a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>> > <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
> ><br>> <br>> <br>> <br>> -- <br>> Walter Bender<br>> Sugar Labs<br>> <a href="http://www.sugarlabs.org" target="_blank">http://www.sugarlabs.org</a><br>> _______________________________________________<br>
> Sugar-devel mailing list<br>> <a href="mailto:Sugar-devel@lists.sugarlabs.org" target="_blank">Sugar-devel@lists.sugarlabs.org</a><br>> <a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
</div></div></div></div>                                          </div></div>
<br>_______________________________________________<br>
Sugar-devel mailing list<br>
<a href="mailto:Sugar-devel@lists.sugarlabs.org">Sugar-devel@lists.sugarlabs.org</a><br>
<a href="http://lists.sugarlabs.org/listinfo/sugar-devel" target="_blank">http://lists.sugarlabs.org/listinfo/sugar-devel</a><br>
<br></blockquote></div><br></div>