hilfe, geisterthread oder was?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

hi,

ich bin der neue guten tag :)


hab hier ein kurioses problem.
eben habe ich ein scipt das ich die ganze zeit immer in die shell kopiert habe mit einem if __name__=="__main__": ausgestettet um es direkt starten zu können.

jetzt gibt das programm strings aus die in viel früheren versionen benutzt wurden. habe dann nach und nach einiges weggelöscht und:
es reicht ein import von Queue oder threading um diese strings auszugeben!

Code: Alles auswählen

C:\python>python xxx.py
Source No1 waiting for data to send!
Source No2 waiting for data to send!
Traceback (most recent call last):
  File "xxx.py", line 6, in <module>
    ack = Queue.Queue(1)
  File "c:\python25\lib\Queue.py", line 31, in __init__
    self.mutex = threading.Lock()
AttributeError: 'module' object has no attribute 'Lock'
Unhandled exception in thread started by
Error in sys.excepthook:

Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:

Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:

Original exception was:

C:\python>type xxx.py

import Queue

if __name__=="__main__":
    ack = Queue.Queue(1)

oder hier eine andere version:


Code: Alles auswählen

C:\python>python xxx.py
Source No1 waiting for data to send!
hello world
Unhandled exception in thread started by
Error in sys.excepthook:

Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:

Original exception was:
Unhandled exception in thread started by
Error in sys.excepthook:

Original exception was:

C:\python>type xxx.py

import threading


if __name__=="__main__":
    print "hello world"


fällt dazu jemand was ein?
BlackJack

Irgendwie habe ich nicht ganz verstanden was Du machst. Wie sieht denn Dein Quelltext aus?
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

ich habe die meldungen der programme und das programm aus der shell rauskopiert, evtl etwas unübersichtlich.

das erste. programm:

Code: Alles auswählen

import Queue

if __name__=="__main__":
    ack = Queue.Queue(1)
das zweite programm:

Code: Alles auswählen

import threading

if __name__=="__main__":
    print "hello world"

die machen also nicht wirklich viel.

problem ist, dass meldungen wie
"Source No1 waiting for data to send!"

die in früheren versionen des programms (innerhalb von threads) ausgegeben wurden hier erscheinen.
und eben die exceptions ...
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Hast du zufaellig in dem gleichen Ordner Dateien namens Queue.py(c) und threading.py(c)?
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

wer hat nur diese datei da rein kopiert? :oops:

vielen dank
Antworten