Threading change, 2.5.4 -> 2.6.1

Gib Bogle g.bogle at
Thu Jan 7 23:30:53 CET 2010

The code below runs with Python 2.5.4, but gives the following error messages 
with Python 2.6.1.  What needs to be done to make it work?  Thanks.

C:\Summer09\Tutorials>python url_queue.pyw
Traceback (most recent call last):
File "url_queue.pyw", line 3, in <module>
import threading
File "C:\Summer09\Tutorials\", line 9, in <module>
class ProcessingThread(threading.Thread, QtCore.QObject):
AttributeError: 'module' object has no attribute 'Thread'

#!/usr/bin/env python
import Queue
import threading
import urllib2
import time

hosts = ["", "", "", 
"", ""]

queue = Queue.Queue()

class ThreadUrl(threading.Thread):
#"""Threaded Url Grab"""
   def __init__(self, queue,i):
     self.queue = queue
     self.num = i
     print "Thread: ",self.num

   def run(self):
     while True:
       #grabs host from queue
       host = self.queue.get()
       print "num, host: ",self.num,host
       #grabs urls of hosts and prints first 1024 bytes of page
       url = urllib2.urlopen(host)

       #signals to queue job is done

start = time.time()
def main():

   #spawn a pool of threads, and pass them queue instance
   for i in range(5):
     t = ThreadUrl(queue,i)

   #populate queue with data
   for host in hosts:

  #wait on the queue until everything has been processed

print "Elapsed Time: %s" % (time.time() - start)

More information about the Python-list mailing list