如何将模块导入到Python上导入的其他脚本?

时间:2017-05-13 23:29:21

标签: python import module

我正在研究Python上的一个项目,我使用不同的脚本。这里的问题是我不知道如何将模块导入到我导入的几个脚本中。例如:

#main.py
import os 
import script1
import script2

如何将os模块导入所有其他脚本,这样我就不必在script1.py和script2.py上再次导入操作系统

我是Python新手,谢谢

1 个答案:

答案 0 :(得分:1)

这真的不是一个好主意,因为它会很难跟踪哪个模块(文件)需要哪些导入。但是,如果必须,则可以将文件中的import语句数量减少到如下所示:

创建一个文件(例如,imports.py)并将所有导入放在那里:

import os 
import script1
import script2
# etc

然后,对于每个文件,不要复制所有导入,只需写下:

from imports import *

..您将能够从该文件中使用它们。

值得注意的是,这样做实际上不会消除您在每个文件顶部编写导入的必要性。 Python已经确保在执行代码期间,每个模块只导入一次,无论您在代码中包含多少次语句。

根据documentation,关于导入过程:

  

import语句结合了两个操作;它搜索命名模块,然后将搜索结果绑定到本地范围中的名称。   [...]   导入搜索期间检查的第一个位置是sys.modules。此映射用作先前已导入的所有模块的缓存,包括中间路径。 [...]导入期间,在sys.modules中查找模块名称,如果存在,则关联的值是满足导入的模块,并且该过程完成。

为了进一步说明,用户dim-anthis回答中非常清楚。