将项目拆分为模块的 Pythonic 方式?

标签 python

假设有一个模块 a,除了所有其他内容之外,它还公开了一些子模块 a.b。 AFAICS,希望以这样一种方式维护模块:输入 import aimport a.b,然后调用 a 中特定于 b 的内容。以下方式:a.b.b_specic_function()a.a_specic_function()

我想问的是如何达到这样的效果? 有一个目录 a,里面有源代码文件a.py。似乎是合乎逻辑的选择,认为它看起来像import a.a,而不是import a。我看到的唯一办法就是将a.py的代码放到a目录下的__init__.py中,认为肯定是错误的...

那么如何保持命名空间干净呢?

最佳答案

您可以将代码放入__init__.py中。对于一个小的分包来说这并没有什么问题。如果代码变得很大,通常会有一个具有重复名称的子模块,例如 a/a.py,然后在 __init__.py 中使用 from 导入它.a 导入 *.

关于将项目拆分为模块的 Pythonic 方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54622423/

相关文章:

python - 如何在 IPython shell 中获取或激活虚拟环境?

python - 在 Numpy 中为值对生成矩阵

python - 忽略 git 存储库中的 .pyc 文件

python - 获取字典中的最大值和最小值

python - Gensim word2vec/doc2vec 多线程并行查询

python - 如何在 PyQt 中将键盘焦点带到 QTextEdit 上?

python - 在 python 中进行组合

python - 是否有更多 'pythonic' 方法从带有自定义分隔符的列表中生成字符串

Python "Every Other Element"成语

python - 减少运行时间、文件读取、每行的字符串操作和文件写入