我试图找到这个问题的答案,但没有成功。
在多个文件中拆分代码时,如何保留简单的模块树(模块,子模块等)?
更确切地说,如果我直接将我的主要课程Load
放在__init__.py
中,可以使用mymodule.Load
方便地访问它,并使用mymodule.Load()
进行实例化。我也可以在LoadTXT
中使用__init__.py
这样的子课程,这些课程可以使用mymodule.LoadTXT()
轻松实例化。
现在,如果这些类很大并且我希望将它们分成多个文件,我有以下选项:
mymodule/
__init__.py # empty
Load.py # contains class Load
LoadTXT.py # contains class LoadTXT and imports class Load
但这意味着我必须使用mymodule.LoadTXT.LoadTXT()
来实例化LoadTXT
,这很麻烦且难看。
我已经考虑过使用execfile
或exec
代替,但这听起来并不是非常pythonic,而且看起来很难看。
请注意,我给出了一个相当简单的示例,但在我的实际情况中,我需要几个文件夹(子模块),每个文件夹都有相同的问题。然后树变得一团糟。