使用“从fileName导入functionName”导入运行我的整个脚本

时间:2019-06-28 18:30:08

标签: python

我写了2个python脚本。

first.py一个包含如下两个函数:

def function1():
    '''do somethong'''
def function2():
    '''do something'''

print("Outside of the functions in first.py")

我已将上述两个函数从first.py导入到second.py,如下所示:

from first import function1,function2

def function3():
    '''do something with func1 & func2'''

print("Outside of the function in second.py")

当我运行second.py时,即使我单独导入funcion1和function2,它也会运行整个first.py脚本。

我得到如下输出:

Outside of the functions in first.py
Outside of the function in second.py

为什么要从这两个函数之外的first.py打印打印语句?如何避免这种情况,请帮忙。

1 个答案:

答案 0 :(得分:2)

即使您使用import在python中使用from ... import ...时,它也会运行整个模块,两种导入方式的唯一区别是要导入的名称。

为了确保导入时不需要的模块代码,请将其包装在if __name__ == '__main__':块中。

__name__由python设置,并设置为模块名称(直接执行时除外),然后将其设置为__main__