Seite 1 von 1

queue mit Python 3

Verfasst: Montag 23. Juli 2012, 20:08
von Zero1234
Hallo
Ich versuche gerade herraus zu arbeiten, wie man mit queue um zu gehen hat. Die meinsten Beispiele sind aber noch von Python 2, auch wenn ich nicht weiß, ob MEINE Fehlermeldung auch damit zu tun hat, oder ob ich etwas falsch mache.

Code: Alles auswählen

import zeichnen
import _thread
import queue
import time

myQueue = queue.Queue

_thread.start_new_thread(zeichnen.fenster,(myQueue,))

time.sleep(3)
myQueue.put("10")
print("fertig")
Fehlermeldung:
TypeError: put() takes at least 2 arguments (1 given)
Danke

Re: queue mit Python 3

Verfasst: Montag 23. Juli 2012, 20:27
von pillmuncher
@Zero1234:

1) Verwende nicht _thread, sondern threading.

2) Verwende nicht threading, sondern den Multi-Threading-Mechanismus, den deine GUI-Lib mitbringt.

3) Wer bist du, Yoda?

Code: Alles auswählen

...zeichnen.fenster...
4) Lern den Unterschied zwischen Verwendung und Erwähnung. Er ist seit spätestens dem Mittelalter bekannt:

Code: Alles auswählen

myQueue = queue.Queue
vs.

Code: Alles auswählen

myQueue = queue.Queue()

Re: queue mit Python 3

Verfasst: Montag 23. Juli 2012, 20:45
von Zero1234
@pillmuncher:

Danke erstmal, dass du überhaupt geantwortet hast. Aber meinst du nicht es geht auch ohne kränkung?
1) Verwende nicht _thread, sondern threading.

2) Verwende nicht threading, sondern den Multi-Threading-Mechanismus, den deine GUI-Lib mitbringt.
Würden deine Vorschläge meine Fehlermeldung verschwinden lassen?

Ah okay, die Fehlenden Klammern waren das Problem. Dann danke nochmal bis dahin.
Ich habe _thread benutzt, weil es das erste Beispiel zu Threading im Tutorial war...eins nach dem anderen ;)

Re: queue mit Python 3

Verfasst: Montag 23. Juli 2012, 21:47
von BlackJack
@Zero1234: In welchem Tutorial? In dem in der Dokumentation wird unter der entsprechenden Überschrift `threading` verwendet: http://docs.python.org/py3k/tutorial/st ... -threading