from import添加了另一个函数执行

时间:2017-09-25 17:57:22

标签: python python-import

创建了一个python'library'模块,其中包含我经常使用的函数。将此模块导入到使用

进行测试的脚本中
from 'library name' import *

但是每当我使用

导入测试脚本时
from 'script name' import *

测试脚本中的所有函数调用都执行两次。

我很确定这是一个导入问题,但我不太了解python来修复它。

实施例: Library.py

doSomething()
    print "Library"

Test.py

from Library import *
doSomething()

这将输出:   “图书馆”   “库”

2 个答案:

答案 0 :(得分:0)

您需要在模块按钮中添加以下内容,以免将模块作为脚本运行

if __name__ == '__main__':
    execution code here

这将告诉Python当您将模块作为脚本执行时,运行的代码。否则,它只会加载模块命名空间

Python's main docs

  

' main '是顶级代码执行的范围的名称。从标准输入,脚本或交互式提示中读取时,模块的名称设置为“ main ”。

     

模块可以通过检查自己的名称来发现它是否在主范围内运行,这允许在模块作为脚本运行时有条件地执行模块中的代码或使用python -m但不是在导入时。

答案 1 :(得分:0)

这是与python的日志记录功能相关的问题。 logger.getLogger(的名称