[Python-de] packages und __init__.py

Manfred Nowak Manfred.Nowak at mncom.de
Die Aug 24 22:18:47 CEST 2004


Hallo Fritz,

> wenn die Variable __all__ benutzt wird wird eben alles aus den Modulen
> des Packages importiert, was oft nicht erwünscht ist, dann kommt eben
> die gezeigte Variante zum Einsatz.

__all__ ist doch dazu da, um nur _bestimmte_ Sachen zu importieren,
wenn man "from <package> import *" eingibt

Meine Problem ist ein anderes:

wenn __init__.py leer ist, dann steht in der Applikation:
from <package>.Interfaces import Container

Das dokumentiert, dass Container im Modul  Interfaces ist.


Wenn aber __init__.py die Zeile enthält:
from Interfaces import Container

dann steht in der Applikation:
from <package> import Container

Bei fremdem Code wird man vermuten, es gibt ein Modul Container.py.
Wenn dies nicht der Fall ist, muss ich in __init__.py nachsehen,
was dort definiert ist.

Das finde ich etwas umständlich bzw. verwirrend.

Manfred










>
> Gruß
>
> Fritz
>
> Am Tue, 24 Aug 2004 19:55:13 +0200
> Schrieb "Manfred Nowak" <Manfred.Nowak at mncom.de>:
>
> > Hallo zusammen,
> >
> > in __init__.py kann Code zur Initialisierung eines packages stehen.
> > Meistens wird dabei die Variable __all__ benutzt.
> >
> > Desöfteren sehe ich jetzt aber solche Inhalte von __init__.py :
> >
> > #---------------------------------------------------------------
> > #  WebFormLib
> > #   Copyright (C) 2004 Antonio Cuni (cuni at programmazione.it)
> > from Control import Control
> > from Directive import Directive
> > from Interfaces import Container
> > from Interfaces import AbstractDocument
> > #---------------------------------------------------------------
> >
> > Ich finde das eher verwirrend, als das ich dabei Vorteile erkennen
> > könnte.
> >
> > In Guidos http://www.python.org/doc/essays/packages.html
> > kann ich davon nichts lesen und Google bringt mir auch keine
> > Erleuchtung.
> >
> > Was sagen die Experten dazu?
> > Manfred
> >
> >
> > --
> > This message has been scanned for viruses and
> > dangerous content  and is believed to be clean.
> >
> >
> > _______________________________________________
> > python-de maillist  -  python-de at python.net
> > http://python.net/mailman/listinfo/python-de
>
>
> --
> This message has been scanned for viruses and
> dangerous content  and is believed to be clean.
>
>


-- 
This message has been scanned for viruses and
dangerous content  and is believed to be clean.