python - 将包含 8 个以上类的模块拆分为一个包,每个类都在自己的文件中

标签 python package extract

我有一个包含许多类的模块(tools.py)。我想将它们提取到自己的“whyteboard.tools”包中,每个类都在自己的文件中。

但是,我之前从将所有类放在一个基目录中改为放在项目根目录下的包中,并且在加载以旧格式保存的 pickle 文件时遇到了问题。 (参见:https://stackoverflow.com/questions/2121874)。我必须在加载文件时对 sys.modules 字典进行猴子修补,然后再将其删除。恶心...

执行此操作的最佳方法是什么?

是否最好在包的 __init__ 中导入我的每个类,否则我必须

from whyteboard.tools.pen import Pen 

而不是

from whyteboard.tools import Pen

最佳答案

我通常会看到模块中的 init.py 执行以下操作:

from whyteboard.tools.pen import *

这样,您始终可以从 Whyteboard.tools 导入并引用此模块内的任何类,而无需知道它们的位置。您只需要了解 Whyteboard.tools 包提供的类即可。

关于python - 将包含 8 个以上类的模块拆分为一个包,每个类都在自己的文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3379662/

相关文章:

python - 正则表达式: Punctuation and greediness

python - ngram 计数后如何在数据框中添加额外的列

java - 错误无法在同一包中找到具有接口(interface)的符号

pdf - 是否可以在没有外部库的情况下从 PDF 中提取 tiff 文件?

python - 如何返回与字典中最小值对应的键列表

python - 使用 Python 抓取特定页面

java - 我将如何读取打包文件?

Java 方法未定义

regex - 我该如何处理这个正则表达式问题?

JavaScript 链接提取器