所以我有一组 .py 文档如下:
/Spider
Script.py
/Classes
__init__.py
ParseXML.py
CrawlWeb.py
TextAnalytics.py
/Classes 子文件夹中的每个 .py 文档都包含一个用于特定用途的类,该脚本调度不同的组件。我有几个问题:
1) 许多类共享框架,例如 urllib2
、threading
等。什么被认为是设置 import 语句的“最佳”形式? IE。有没有办法让我使用类似 __init__.py 的文件将共享依赖项传递给所有类,然后使用特定的 .py 文件导入单一依赖项?
2) 某些类调用其他类(例如,CrawlWeb.py 文档使用 ParseXML 类在爬网后更新 XML 文件)。我像这样将类分开,因为它们每个都很大,因此更容易像这样更新...在这种情况下组合类是否被认为是最佳形式,或者是否有其他方法来解决这个问题?
这些类将仅用作脚本的一部分。到目前为止,我能想到的唯一真正的解决方案可能是对所有导入语句使用 Script.py 文件,但它似乎有点困惑。任何建议将不胜感激。
最佳答案
- 处理常见导入的最佳方法是在它们使用的每个模块中
导入
它们。虽然这可能会让您感到厌烦,因为您必须输入更多内容,但它可以让代码的读者更加清楚哪些模块在范围内。通过执行常见的导入操作,您不会丢失任何东西;你做得对。 - 虽然您当然可以将所有类放入单独的文件中,但在 Python 中更常见的是将相关类分组到单个模块中。考虑到您的脚本听起来很短,这可能意味着您将所有内容放入一个文件中是有意义的。这是一个判断,我无法提供硬性规则。
关于python - 如何建立具有相互依赖关系的Python类集合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22794796/