Python:线程脚本干扰单独的脚本

时间:2017-06-14 14:36:04

标签: python multithreading

我有一个名为startup_launching.py的脚本,其执行如下操作:

import os
# launch chrome
os.startfile(r'C:\Program Files (x86)\google\chrome\application\chrome.exe') 

要从(windows)命令行运行它,我输入:

python" FILEPATH \ startup_launching.py"

工作正常。

但是,我有一个名为threading.py的单独脚本,它执行此操作:

import time, threading

def foo():
    print(time.ctime())
    threading.Timer(10, foo).start()

foo()

(我在stackoverflow上发现)。

当threading.py保存在与startup_launching.py相同的文件夹中时,当我从命令行运行它时,它似乎会干扰startup_launching.py(例如,其中一个错误消息是:module' threading&# 39;没有属性'定时器')。

当我将threading.py移动到另一个文件夹时,startup_launching.py再次正常工作。

有人能解释一下这里发生了什么吗?我假设进入:

python" FILEPATH \ startup_launching.py"

命令行中的

只能查看startup_launching.py 谢谢!

3 个答案:

答案 0 :(得分:0)

您应该重命名文件,使其未命名为threading.py,因为它将位于导入路径中,并将屏蔽实际的内置threading模块,而另一个脚本依赖该模块。

答案 1 :(得分:0)

将模块命名为threading.py以外的模块,因为有一个名为threading.py的内置模块。

答案 2 :(得分:0)

不要将其称为threading.py。另外,检查你的python版本,如果它对应于你正在阅读的教程。