vor einem Jahr hatte ich hier schon einmal ein Problem mit der jpydaemon.py beschrieben. Damals habe ich dann die "Segel gestrichen" und aufgegeben.
Worum geht es mir: Ich möchte mit Python unter der mir vertrauten Netbeans-IDE bearbeiten. Dafür gibt es ein Plugin, zu dem die Datei jpydaemon.py gehört. Diese ist für Python 2 geschrieben und soll mit Netbeans das Debugging ermöglichen. Das funktioniert auch einwandfrei, so lange ich mit Python 2 arbeite.
Da ich aber auch mit Python 3 arbeiten möchte, habe ich mir die Datei jpydaemon.py entsprechend umgestellt. Nun hänge ich aber an einem Syntaxfehler und hoffe, dass mir hier jemand helfen kann. Hier ein Codeauszug dazu:
Code: Alles auswählen
def terminateDaemon( self ):
""" terminate debugger IP session """
self._connection.terminate()
print( "'+++ JPy/sessionended/"=
sys.stdout = self.stdout
sys.stdin = self.stdin
print("deamon ended\n")
sys.exit()
Irgend wo, wo, das weiß ich selbst nicht mehr, fand ich den Vorschlag, den Code so schreiben:
---> sys.stdout, sys.stdout = self.stdout, self.stdout <---
Ich fand dafür zwar keine Erklärung, probierte es aber für die Zeile 1509 aus und überraschend für mich funktionierte es damit. Aber jetzt kam die gleiche Fehlermeldung für die Zeile 1510. Na einfach, dachte ich und formulierte diese Zeile so:
---> sys.stdin, sys.stdin = self.stdin, self.stdin <---
Da hatte ich mich aber zu früh gefreut, denn auch damit wird ein Syntaxfehler reklamiert. Ich suchte weiter und fand dann folgende Formulierung:
---> sys.stdin = float(self.stdin.read()) <---
Aber auch das wird als Syntaxfehler zurück gewiesen.
Kann mir jemand sagen, wie die richtige Syntax für diese beiden Zeilen aussieht?
MfG, kodela