我有以下程序,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

最佳答案

您必须导入线程。将以下内容添加到文件的开头:

import threading

错误源自以下行:
_db_lock=threading.Lock()

这是因为您使用了from threading import Thread,但实际上从未将threading引入本地 namespace 。到目前为止,只有Thread(即使从技术上讲,导入在那里,但它不在命名空间中,您不能使用它)。

如果出于某种原因您希望避免threading污染您的 namespace ,请以与导入Lock相同的方式导入Thread,如下所示:
from threading import Thread, Lock
_db_lock = Lock()

关于python - 我该如何解决NameError : name 'threading' is not defined in python 3. 3,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22848621/

10-11 20:44