如果我调用其他文件的函数,则导入相同的python模块

时间:2018-09-08 18:15:32

标签: python import module

我想知道如果我在另一个文件上调用一个模块,该模块导入了已经在主调用中导入的相同python模块,它会被导入两次吗?如果是,我该如何预防?推荐的方法是什么?

在以下示例中,time模块被导入到两个文件中。作为替代解决方案,我将time模块作为参数传递给位于不同文件上的模块调用。


示例:

hello.py

from module import module
import time

time.sleep(1)
module();

module.py

import time; # Already imported in hello.py

def module(): #{
    time.sleep(1)
    print('hello')  
#}

替代::我将time模块作为参数传递给位于module()下的module.py函数中。

hello.py

from module import module
import time

time.sleep(1)
module(time);

module.py

def module(time): #{ 
    time.sleep(1)
    print('hello')
#}

1 个答案:

答案 0 :(得分:1)

一个模块仅被定位和执行一次,无论导入多少次。它存储在In [101]: (10170290665425347857)**0.5 Out[101]: 3189089316.0 In [102]: ((10170290665425347857)**0.5) % 1 Out[102]: 0.0 字典中,因此后续导入只是字典查找。没有理由要避免同一模块的多次导入。