But onto the point you're making. I think its possibly a mis-viewing
of the package idea in Python. A package creates a name space. If you
create Lib/Server/Db with all the __init__.py files, its because you
want to import Lib.Server.Db, rather than a way of organising your
source files.


I went forward. I read all the documentation in the language reference.

About the import statement:

http://docs.python.org/ref/import.html

For importing packages and using hierarchical module names, there was no detailed description but a link to an essay:

http://www.python.org/doc/essays/packages.html

There is a section in that essay named "Intra-package references". It says:

"""The submodules often need to refer to each other. For example, the surround module might use the echo module. In fact, such references are so common that the import statement first looks in the containing package before looking in the standard module search path. Thus, the surround module can simply use |import echo| or |from echo import echofilter|. If the imported module is not found in the current package (the package of which the current module is a submodule), the import statement looks for a top-level module with the given name.

When packages are structured into subpackage (as with the Sound package in the example), there's no shortcut to refer to submodules of sibling packages - the full name of the subpackage must be used. For example, if the module Sound.Filters.vocoder needs to use the echo module in the Sound.Effects package, it can use |from Sound.Effects import echo|.

(One could design a notation to refer to parent packages, similar to the use of ".." to refer to the parent directory in Unix and Windows filesystems. In fact, ni supported this using __ for the package containing the current module, __.__ for the parent package, and so on. This feature was dropped because of its awkwardness; since most packages will have a relative shallow substructure, this is no big loss.)
"""


So finally I got the answer: there was a "parent package" feature in the ni module but it was dropped of its awkwardness. This is not a big loss but this is exatly the feature that I need. Is there a person on this list who was against the "parent package" idea? He must know the answer or a workaround :-)

--

_________________________________________________________________
 Laszlo Nagy                  web: http://designasign.biz
 IT Consultant                mail: [EMAIL PROTECTED]

                Python forever!


-- http://mail.python.org/mailman/listinfo/python-list

Reply via email to