我有以下程序,没有别的,python 3.3。当我运行它。我得到了
NameError: name 'threading' is not defined
我用谷歌搜索,但没有给出的答案解释我的情况。任何线索?谢谢!
#!/usr/bin/python
import Utilities
import os
import sys
import getopt
import time
from queue import Queue
from threading import Thread
_db_lock=threading.Lock()
我也试过
_db_lock=threading.Lock
答案 0 :(得分:17)
您必须导入线程。将以下内容添加到文件的开头:
import threading
错误源自以下行:
_db_lock=threading.Lock()
那是因为您使用了from threading import Thread
,但您从未真正将threading
引入本地命名空间。到目前为止只有Thread
(尽管从技术上讲,导入就在那里,但它不在命名空间中,你不能使用它。)
如果出于某种原因,您希望threading
保持“污染”状态。您的命名空间,导入Lock
的方式与导入Thread
的方式相同,如下所示:
from threading import Thread, Lock
_db_lock = Lock()