是否可以使用路径中包含两个以上点的模块引用?就像这个例子一样:
# Project structure:
# sound
# __init__.py
# codecs
# __init__.py
# echo
# __init__.py
# nix
# __init__.py
# way1.py
# way2.py
# way2.py source code
from .way1 import echo_way1
from ...codecs import cool_codec
# Do something with echo_way1 and cool_codec.
UPD:改变了例子。我知道,这在实践中会起作用。但这是不是一种常见的导入方法呢?
2020年11月24日更新
如果你想深入了解 python 的相对导入,我强烈推荐你这个answer https://stackoverflow.com/a/14132912/4290396.
是否可以使用路径中包含两个以上点的模块引用?
是的。您可以在相对导入路径中使用多个点,但只有在使用时才可行from xxx import yyy
语法,不import xxx
句法。另外,单点、两点、三点分别表示当前目录、父目录、祖目录,以此类推。
我知道,这在实践中会起作用。但这是不是一种常见的导入方法呢?
这取决于。如果你的项目有复杂的目录结构,使用绝对导入会“令人恶心”。例如,
from sub1.sub2.sub3.sub4.sub5 import yourmethod
。在这种情况下,使用相对导入将使您的代码干净整洁。也许看起来像
from ...sub5 import yourmethod
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)