Python神秘地执行其他幻像脚本

时间:2013-06-27 18:10:18

标签: python python-2.7 command-line

我有一个奇怪的情况:

在我的文件夹/ home / Komponenten /中有很多python脚本

当我开始时

  

cd / home / Kompontenen

     

/ home / Kompontenen> python urlfilter.py

导致执行另一个脚本,我发现在我的情况下它是来自同一文件夹的queue.py

我虽然没问题,但我在urlfilter中可能会使用queue.py。 Queue.py包含一个多线程测试,但没什么特别的

所以我只是试图移动queue.py文件

之后urlfilter.py正常执行且没有错误

所以我仍然不知道为什么python解释器执行queue.py而不是urlfilter.py

1 个答案:

答案 0 :(得分:2)

在Python中,导入路径包含.(工作目录)。导入模块基本上意味着执行它。这就是您从queue导入urlfilter.py导致queue被执行的原因。为避免导入意外执行脚本,您可以在__name__变量中查看值'__main__'

if __name__ == '__main__':
    do_not_execute_this_during_import()