这是一种类似python的方式来定义命名空间吗?或者是否有更好/通用的方法来组织python中的包的文件系统.(我没有为此找到合适的教程/示例.)
这是设置Python包的好方法.只有好和的,因为内容不是"好" foo.py
和bar.py
.
我不喜欢使用
package.foo.foo()
/package.subpackage.bar.bar()
并且想使用package.foo()
/package.subpackage.bar()
.
在这种情况下,你不能.而不是混合名称空间是不做的好理由from package.subpackage.bar import bar
.
这本来是更好,如果def foo(): ...
和def bar(): ...
是直接__init__.py
.这样一来,你可以做package.foo()
和package.subpackage.bar()
.它也可以通过__all__
在init中使用来完成,但import *
也不被认为是好的.
或者,foo
和bar
包应该有更多的像foo.function1
,foo.other_func
,bar.drink
等这使得它更加人性化理解的组织.
示例和参考不在好的StackOverflow问题的范围内,但是这里有一些问题,这是一个深思熟虑的问题:
构建您的项目 - Hitchhiker的Python指南
Pythonic组织模块和包的方式
如何组织Python项目?