[Python] Importare moduli nell'interprete, da directories diverse.

Marco Buttu mbuttu a oa-cagliari.inaf.it
Sab 23 Mar 2013 22:09:11 CET


On 03/22/2013 01:36 PM, Daniele Varrazzo wrote:
>>>> import sys
>>>> sys.path.insert(0, r"c:\python27\")
>>>> from gb import nomemodulo    # ora dovrebbe funzionare.
>
> Resta che devi creare c:\python27\gb\__init__.py, anche vuoto. 

Aggiungo che a partire da Python 3.3 una directory puo' essere un package
(implicit namespace package) anche se non contiene il file __init__.py:

$ mkdir mydir
ls
mydir
$ echo "print(__name__)" > mydir/foo.py
$ python2.7 -c "import sys; sys.path.append('$PWD'); import mydir.foo"
Traceback (most recent call last):
   File "<string>", line 1, in <module>
ImportError: No module named mydir.foo
$ python3.3 -c "import sys; sys.path.append('$PWD'); import mydir.foo"
mydir.foo

Il nuovo meccanismo di import e' descritto nella PEP-0420:

http://www.python.org/dev/peps/pep-0420/#specification

-- 
Marco Buttu

INAF Osservatorio Astronomico di Cagliari
Loc. Poggio dei Pini, Strada 54 - 09012 Capoterra (CA) - Italy
Phone: +39 070 71180255
Email: mbuttu a oa-cagliari.inaf.it

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130323/b13afc05/attachment.html>


Maggiori informazioni sulla lista Python