1

我遇到了一个奇怪的情况:

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

当我开始

cd /home/Kompontenen

/home/Kompontenen>python urlfilter.py

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

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

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

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

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

4

1 回答 1

2

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

if __name__ == '__main__':
    do_not_execute_this_during_import()
于 2013-09-13T09:12:37.670 回答