这是我第一次学习python,我继续尝试从this blog post进行线程化。问题是它似乎已经过时了:
import time
from threading import Thread
def myfunc(i):
print ("sleeping 5 sec from thread %d" % i)
time.sleep(5)
print ("finished sleeping from thread %d" % i)
for i in range(10):
t = Thread(target=myfunc, args=(i,))
t.start()
如何在不出现此错误的情况下运行此代码:
$ python helloworld.py
Traceback (most recent call last):
File "helloworld.py", line 1, in <module>
import threading
File "c:\Documents and Settings\Hermione\learningPython\threading.py", line 2, in <module>
from threading import Thread
ImportError: cannot import name Thread
我有threading.py
因为我已经删除了该文件(并且它一直出现!!)和一个神秘的__PyCache__
文件夹,这也很奇怪。
答案 0 :(得分:12)
你的问题是你曾经一个名为threading.py
的文件,它可能留下了一个名为threading.pyc的字节码文件。
你也必须删除它。
类似问题here。
编辑:意识到您正在使用python3,同时删除__pycache__
目录(这是文件使用python3.2及更高版本所在的位置)。
答案 1 :(得分:5)
您已将文件threading.py
命名为隐藏标准库模块的同名文件。 ..不要这样做: - )
答案 2 :(得分:0)
您需要删除threading.pyc以及threading.py文件,或者如果您使用的是Python 3.2,则需要删除__pycache__
目录。