【发布时间】:2014-05-18 02:33:22
【问题描述】:
如何使用“as”简写导入嵌套包?
这个问题类似于importing a module in nested packages,只是嵌套在同一个 .py 文件中,而不是跨文件夹。
在 foo.py 中(所有 python 文件都在同一个包中,并且是 3.4 版本):
class Foo:
class Bar:
...
我可以在另一个 .py 文件中访问这些子类:
from . import foo
...
bar = foo.Foo.Bar()
我想做的事:
from . import foo.Foo.Bar as Bar # DOES NOT WORK: "unresolved reference" error.
...
bar = Bar() # saves typing.
bar2 = Bar()
...
有没有办法做到这一点?
【问题讨论】:
-
你为什么在这里使用嵌套类?在 Python 中使用它们并没有什么好的理由。
-
您可以在 foo.py 文件的末尾添加
Bar = Foo.Bar行,然后可以从模块中import Bar。