[Python-Dev] Re: PEP 328 -- relative and multi-line import (original) (raw)
Aahz aahz at pythoncraft.com
Mon Apr 5 12:03:09 EDT 2004
- Previous message: [Python-Dev] Re: PEP 328 -- relative and multi-line import
- Next message: [Python-Dev] Re: PEP 328 -- relative and multi-line import
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On Mon, Apr 05, 2004, Shane Holloway (IEEE) wrote:
Aahz:
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 What about names inside package init? from .. import bar Is this also valid?
Do you mean subpackage1's init.py? If so, yes. For most purposes, a package's init.py is treated as if it were a module with the name of the package.
Hmmmm... I think I see what you're getting at: how do you access subpackage1 from package's init.py using relative imports? Seems to me that you'd have to do ::
from .package import subpackage1Normally, though, subpackages import from their parents, not the other way around.
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/
Why is this newsgroup different from all other newsgroups?
- Previous message: [Python-Dev] Re: PEP 328 -- relative and multi-line import
- Next message: [Python-Dev] Re: PEP 328 -- relative and multi-line import
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]