2013-06-27 18 views
1

我做了一个奇怪的现象:Python的执行神秘其他幻象脚本

在我的文件夹中的/ home/Komponenten /被很多Python脚本的

当我开始

CD /家庭/ Kompontenen

/家庭/ Kompontenen>蟒蛇urlfilter.py

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

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

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

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

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

回答

2

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

if __name__ == '__main__': 
    do_not_execute_this_during_import()