我在理解python模块导入系统方面遇到了很多麻烦。
我正在尝试创建一个简单的文件夹结构,如下所示。
SomeModule
__init__.py
AnotherModule
AnotherModule.py
__init__.py
Utils
Utils.py
__init__.py
要使用SomeModule,我可以这样做:
SomeModule.Foo()
现在在AnotherModule.py里面我想导入我的Utils目录。
我该怎么做
import SomeModule.AnotherModule.Utils.Foo
为什么我不能这样做
import Utils.Foo
答案 0 :(得分:0)
要缩短您在代码中必须调用的实际功能名称,您可以随时执行以下操作:
from SomeModule.AnotherModule.Utils import *
虽然这仍然不允许您在脚本顶部使用较短的导入语句,但您只需通过调用即可访问.Utils
中的所有功能他们的功能名称(即foo(x)
而不是SomeModule.AnotherModule.Utils.foo(x)
。
冗长的import语句的部分原因归于@wim的评论。通过在python解释器中键入import this
来查看。
答案 1 :(得分:0)
把
SongNode
在SomeModules中{p> static SongNode nillNodeSong