Come faccio a risolvere NameError: name ‘la filettatura” non è definito in python 3.3

Ho il seguente programma, e nient’altro, python 3.3. Quando ho eseguito. Ho

NameError: name 'threading' is not defined

Ho cercato su google ma nessuna delle risposte date spiegare la mia situazione. eventuali indizi? Grazie!

#!/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()

Ho provato anche

_db_lock=threading.Lock
  • basta importare la filettatura
  • Si dovrebbe sempre aggiungere il completo traceback di errore quando si invia una domanda con un’eccezione.
InformationsquelleAutor Chris F | 2014-04-03

 

One Reply
  1. 18

    È necessario importare la filettatura. Aggiungere il codice seguente all’inizio del file:

    import threading

    L’errore proviene dalla linea:

    _db_lock=threading.Lock()

    Che perché hai usato from threading import Thread, ma mai effettivamente introdotto threading in lo spazio dei nomi locale. Finora c’è solo Thread (anche se tecnicamente l’importazione c’è, è non solo nello spazio dei nomi, non è possibile utilizzarla).

    Se per qualche motivo non si desidera mantenere threading da ‘inquinanti’ dello spazio dei nomi, importare il Lock nello stesso modo come avete importato Thread, in questo modo:

    from threading import Thread, Lock
    _db_lock = Lock()

Lascia un commento