A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://mail.python.org/pipermail/python-dev/2004-April/043980.html below:

[Python-Dev] Re: PEP 328 -- relative and multi-line import

[Python-Dev] Re: PEP 328 -- relative and multi-line importAahz aahz at pythoncraft.com
Sat Apr 3 09:50:51 EST 2004
On Sat, Apr 03, 2004, David Goodger wrote:
> 
> I have Aahz's revision ready to check in, but I'm unclear on one
> point.  Is the accepted/pronounced relative import syntax dots only,
> or can there be a branch too?  In other words, is the "Y" here
> acceptable (where Y is a sibling to the current module's package)?
> 
>     from ..Y import X
> 
> I think the PEP needs a clear statement (and examples) of which syntax
> **and semantics** have been chosen.

Good point.  Here's what I *think* the semantics are; as soon as I get
agreement, I'll update the PEP.  Given a package layout::

    package
        subpackage1
            moduleX
            moduleY
        subpackage2
            moduleZ
        moduleA

Each leading "." refers to one level of parent.  Assuming that the
current file is ``moduleX.py``, following are correct usages of the new
syntax::

    from .moduleY import spam
    from ..subpackage1 import moduleY
    from ..subpackage2.moduleZ import eggs
    from ..moduleA import foo
    from ...package import bar

Actually, I believe that this is the only possible useful semantic; I
would welcome clear reasoning for another semantic.

Here's a question.  Should the following be legal? ::

    from ...sys import path

If not, do we test for it?  What kind of error do we raise?
-- 
Aahz (aahz at pythoncraft.com)           <*>         http://www.pythoncraft.com/

"usenet imitates usenet"  --Darkhawk

More information about the Python-Dev mailing list

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4