为了简化代码,我通过以下方式加载了各种功能到外部文件中:
from (external_file) import (function_name)
...效果很好。
尽管我的问题与其他模块有关,例如cv2或numpy-我需要外部文件(以及主文件)中列出的那些模块,还是有办法只在主文件中列出它们?
答案 0 :(得分:4)
您将Python代码放入的每个文件都是其自己的模块。每个模块都有其自己的名称空间。如果您的某些代码(在任何模块中)使用某些库代码,则将需要某种方式从其定义的名称空间访问该库。
通常,这意味着您需要在使用该库的每个模块中导入该库。不必担心重复,模块在首次加载时会被缓存,因此从其他模块进行的其他导入将迅速找到现有模块,并在其自己的命名空间中添加对该模块的引用。
请注意,过多拆分代码通常不是一个好主意。当然,不需要每个函数或每个类都有其自己的文件。而是使用模块将相关的事物分组在一起。如果您有几个可以互操作的功能,请将它们放在同一模块中。