Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何设置具有相互依赖性的Python类集合?_Python_Class_Import_Frameworks - Fatal编程技术网

如何设置具有相互依赖性的Python类集合?

如何设置具有相互依赖性的Python类集合?,python,class,import,frameworks,Python,Class,Import,Frameworks,因此,我有一组.py文档,如下所示: /Spider Script.py /Classes __init__.py ParseXML.py CrawlWeb.py TextAnalytics.py /Classes子文件夹中的每个.py文档都包含一个用于特定目的的类,脚本会安排不同的组件。我有几个问题: 1) 许多类共享框架,如urllib2,线程化等。设置导入语句的“最佳”形式是什么?也就是说,有没有一种方法可以让我使用\uuuu init\uuuu.

因此,我有一组.py文档,如下所示:

/Spider
  Script.py
  /Classes
    __init__.py
    ParseXML.py
    CrawlWeb.py
    TextAnalytics.py
/Classes子文件夹中的每个.py文档都包含一个用于特定目的的类,脚本会安排不同的组件。我有几个问题:

1) 许多类共享框架,如
urllib2
线程化
等。设置导入语句的“最佳”形式是什么?也就是说,有没有一种方法可以让我使用
\uuuu init\uuuu.py
文件之类的东西将共享依赖项传递给所有类,然后使用特定的.py文件导入单一依赖项

2) 一些类调用其他类(例如,CrawlWeb.py文档使用ParseXML类在爬网后更新XML文件)。我像这样分开了这些类,因为它们每个都相当大,所以更容易像这样更新。。。在这种情况下,合并类是最好的形式,还是有其他方法可以解决这个问题

这些类将仅用作脚本的一部分。到目前为止,我能想到的唯一真正的解决方案可能是对所有导入语句使用Script.py文件,但它似乎有点混乱。任何建议都将不胜感激

  • 处理常见导入的最佳方法是在使用的每个模块中导入它们。虽然这可能会让您感到恼火,因为您必须键入更多的内容,但这会让代码读者更清楚地了解范围内的模块。通过执行common
    import
    s,您并没有遗漏什么;你做得对
  • 虽然您当然可以将所有类放在单独的文件中,但在Python中,将相关类分组到单个模块中更为常见。考虑到脚本听起来有多短,这可能意味着将所有内容都放到一个文件中是有意义的。这是一个判断,我不能给出一个硬性规定

  • 你的问题很可能是主观的。如果真是这样,没关系!请改为在programmers.stackexchange.com上再次询问。谢谢,我会接受这个作为我的答案,以防它关闭。这真的很有帮助。