假设我有一个src文件夹和一个名为Foo的包,其中一个名为Foo的模块包含一个名为Foo的类。然后在src文件夹中,我有一个主模块,希望直接在其命名空间中使用Foo类。
-src
-Foo
__init__.py
Foo.py
main.py
我相信我可以做这样的事情
main.py
from Foo.Foo import Foo
或将其添加到包init
import Foo
或
from Foo import Foo
然后在主要我可以尝试
from Foo import Foo
但理想情况下我希望能够把
import Foo
在main.py中并将该类直接用作Foo(不是Foo.Foo)
对于命名包,模块和类都可能不是最佳实践,但似乎我遇到了它确实有意义的情况。我也知道我应该将模块名称全部改为小写,但我保留了这个例子。
答案 0 :(得分:0)
您需要使用__init__.py
使Python将文件夹识别为包含可自行导入的文件或模块的模块。因此,
from myfile import myclass
。__init__.py
,以便对于Foo
文件夹之外的模块,它将被识别为可导入模块。