Python - 从外部文件和全局模块导入函数

问题描述 投票:0回答:1

为了简化我的代码,我把各种函数放到外部文件中,通过:

from (external_file) import (function_name) 

...这样就可以了。

但我的问题是关于其他模块的,比如cv2或numpy--我是否需要在我的外部文件中列出这些模块(以及我的主文件),还是有办法只在我的主文件中列出它们?

python
1个回答
4
投票

你把Python代码放入的每个文件都是它自己的模块。每个模块都有它自己的命名空间。如果你的一些代码 (在任何模块中) 使用了一些库代码,它将需要一些方法来从它定义的命名空间中访问库。

通常这意味着你需要在每个模块中导入它被使用的库。不用担心重复的问题,模块在第一次加载的时候就会被缓存,所以从其他模块中额外的导入会很快找到现有的模块,只需要在自己的命名空间中添加一个对它的引用。

需要注意的是,一般来说,把代码拆分得太厉害不是一个好主意。当然没有必要让每个函数或每个类都有自己的文件。相反,使用模块将相关的东西归为一类。如果你有几个经常互操作的函数,把它们放在同一个模块里。

© www.soinside.com 2019 - 2024. All rights reserved.