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 subpackage1 Normally, 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?
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