2011-11-09 20 views
10

İş parçacığı modülünü almaya çalışıyorum ancak iyi bir neden olmadan hatalar alıyorum.Python iş parçacığı modülünün içe aktarma hatası

import threading 

class TheThread (threading.Thread): 
    def run (self): 
     print 'Insert some thread stuff here.' 
     print 'I\'ll be executed...yeah....' 
     print 'There\'s not much to it.' 

TheThread.Start() 

Ve hatalar:

Traceback (most recent call last): 
    File "threading.py", line 1, in <module> 
    import threading 
    File "C:\Users\Trent\Documents\Scripting\Python\Threading\threading.py", line 
3, in <module> 
    class TheThread (threading.Thread): 
AttributeError: 'module' object has no attribute 'Thread' 
Press any key to continue . . . 

Python istatistik:

Python 2.7.2 (varsayılan, 12 Haziran 2011, 15:08:59) [İşte benim kodudur MSC v.1500 32 bit (Intel)] kazanma 32

+5

Geçerli dizininizde "threading.py" isimli bir dosyanız var mı? Eğer öyleyse, bu muhtemelen Thread özniteliği olmamasının sebebi olabilir. –

cevap

46

İhtiyacınız olan her şey sadece yeniden adlandırmak olduğunu düşünüyorum Eğer çalışma dizini

+0

Yukarıdaki yorumumu bıraktığımda bu cevabın neden var olmadığı konusunda kafam karıştı. Her neyse, beni dövüyorsun. –

+2

aptalca, dosyanın modülle aynı adı verdiğini not etmem:/ – Trent

+0

Tyler, cevap verdikten sonra bilgisayarımdaki bu durumu simüle etmek için geçici olarak silinen cevap verdim :) –

4

İlk yanlış threading.py dosyası var

threading.py

veya: Dosya adı modül adıyla aynı olduğu için sizin, dosyayı çalışma adı , kendi dosyanızı yeniden adlandırmanız gerekir: Bu, threading.py olarak adlandırılır ve Python Yolunda olduğundan, standart Python kitaplığının iş parçacığı modülünün yerini alır.

İkinci olarak, iplik-sınıfının bir örneğini oluşturmak zorunda:

TheThread().start() # start with latter case 
+2

+1. –

+0

Evet: D de doğru – Trent

0

_thread.start_new_thread (fonk *)

+0

python 3 – Brendan

0

Sana çalışma mevcut adını parçacığı kullanılan düşünüyorum file.Change Şu Verilerinizi farklı ad ile dosya adı.Bu işe yarayacaktır. Benim için de çalışıyor

+0

için yeni bir sözdizimi, başka bir kullanıcı tarafından önerilmişti. –

İlgili konular