Hallo,
mein erster Post zu dieser Liste und leider nicht einmal zum coding
selbst (vielleicht).
Ich habe vor einiger Zeit mit dem cmd-module eine schöne interaktive
Shell für mein Tool gebaut und war davon begeistert. Denke das war noch
unter python3.2, wo ich mit Python angefangen habe.
Jetzt bin ich auf Python3.4 umgestiegen (Vorgabe) und habe mit der
Verwendung des cmd-Modules Probleme.
Wenn ich den cmdloop() starte gelange ich wie erwartet zum Prompt. Dort
kann ich auch einen Befehl eingeben, der korrekt abgearbeitet wird, bis
der nächste Prompt erscheint. Von da an allerdings nimmt die Konsole
keine Tastatureingaben mehr entgegen, auch STRG+C nicht.
Hat jemand anderes dieses Problem ebenfalls?
Kann es evtl damit zusammenhängen, dass ich im unterliegenden Code mit
mehreren Threads arbeite?
Danke,
Oliver
Hier noch der Code der Shell-Klasse dazu:
class Shell(cmd.Cmd):
def __init__(self, args):
self.monitor = None
self.args = args
def do_prepare(self, arg):
self.Monitor = Monitor(self.args.config, self.args.delay)
self.Monitor.readConfig()
def do_start(self, arg):
self.Monitor.start()
def do_stop(self, arg):
self.Monitor.stop()
def do_status(self, arg):
print(self.Monitor.entryQeue.qsize())
def precmd(self, line):
line = line.lower()
return line