Habe ein kleines Problem mit meinen Threads.
Ich möchte aus der Shell heraus eine Funktion einer importierten Klasse aufrufen, diese wiederum startet einen Thread, der mir in bestimmten abständen eine Rückmeldung geben soll (z.B. Datentransfer auf serieller Schnittstelle melden). Das ganze muss aus der Shell funktionieren, wenn ich die Aufrufe aus einer .py datei mach funktioniert das ganze über standard io
Das ganze sieht (vereinfacht) so aus
Code: Alles auswählen
>>> import controller
>>> controller.startThread()
>>> ... #do something
>>> ... #do something else
#wenn thread input meldet hätt ich den gern hier ausgegeben
>>> ... #do something
Code: Alles auswählen
#file: controller.py
import thread
def startThread():
t=thread.myThread()
t.start()
Code: Alles auswählen
#file: thread.py
from threading import Thread
class myThread(Thread):
def __init__(self):
Thread.__init__(self)
def run():
while True:
#warte auf input von serieller schnittstelle
if serial.inWaiting()>0:
input=serial.read(serial.inWaiting())
#hier mein problem: wie bekomme ich input zurück an die shell
print intput? #funktioniert nicht
raise myException, input? #geht auch nicht
Mein anderes Problem ist, dass ich mehrere files hab, die ich importieren muss:
z.B.
import x
from y import *
from z import *
gibt es eine möglichkeit, dies in einem import zusammenzufassen, sodass ich direkt auf alle zugreifen kann?
in der Art:
#file: imports.py
import x
from y import *
from z import *
----------------------------------
>>> import imports
>>> x.doSomething()
>>> y.myClass.Foo()
Vielen Dank schonmal im voraus
Kai