[Python] Semplificare l'importazione di oggetti da un package

Manlio Perillo manlio.perillo a gmail.com
Gio 18 Nov 2010 22:12:43 CET


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Il 18/11/2010 20:36, lex mlist ha scritto:
> Sera a tutti,

Ciao.

> beh le mie limitate conoscenze con Python si notano probabilmente da
> messaggi come questi (per cui mi scuso).
>

Nessun problema.

> Ho provato a cercare ma non ne sono venuto a capo.
> Supponiamo la seguente situazione:
> /package
> /__init__.py
> /package/module.py - definisce Classe
> /package/module2.py - definisce Classe2
> /setup.py
> 
> supponiamo che io voglia permettere di importare Classe usando 'from
> package import Class' al posto di 'from package.module import Class'
> faccio che importare in __init__.py module.Class.
> 
> Esiste un modo per automatizzare il tutto? 


Di solito quello che si fa è:

__init__.py
from module import Classe
from modulee import Classe2


__all__ = ['Classe', 'Classe2']


Volendo automatizzare, si, puoi utilizzare la variabile speciale __all__.
Non dovrebbe essere difficile; la parte più delicata è la ricerca di
tutti i moduli e sotto package (perchè devi comunque cercare di
supportare i package zippati, come le egg).

> [...]


Ciao   Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkzllssACgkQscQJ24LbaUTrAgCgjcE/fNr6C6GujbVpLzYf6DVt
BbYAnRQKdDceSyhsN6j+WjH11nzQzPGh
=3dn1
-----END PGP SIGNATURE-----


Maggiori informazioni sulla lista Python