Aahz wrote: > 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. Actually, no I meant package's __init__.py -- so that:: from .. import bar as barA from ...package import bar as barB assert barA is barB > 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 subpackage1 > > Normally, though, subpackages import from their parents, not the other > way around. I would intuit that one would import subpackage1 from package as:: from . import subpackage1 but that's not explicitly spelled out. Is this correct?
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