Python:整个模块一次导入模块

cor*_*ndl 3 python import module package

我目前正在编写一个基本上采用这种结构的应用程序:

main.py
+ Package1
+ --- Class1.py
+ ---应用程序
+
Package2
+ --- Class1.py + ---应用程序

所以我有两个问题:首先,在两个软件包中,所有Apps都需要一些模块,例如:re。有没有一种方法可以一次为整个程序包导入一个模块,而不是将其导入需要的每个文件中?

而且,如您所见,在两个软件包中都使用了Class1。是否有一种在两个软件包之间共享它的好方法,以避免代码重复?

Jam*_*dge 5

我强烈建议您不要这样做:通过将导入与使用该功能的模块分开,您将更加难以跟踪模块之间的依赖关系。

但是,如果您确实要这样做,则一个选择是创建一个名为common_imports(例如)的新模块,并使其执行您想要的导入。

然后在其他模块中,添加以下内容:

from common_imports import *
Run Code Online (Sandbox Code Playgroud)

这应该为您提供该模块的所有公共名称(包括所有导入)。