Syntaxfehler in jpydaemon.py

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
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

Hallo,

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()
Es geht um die beiden Zeilen zwischen den print() Funktionen. In der Datei jpydaemon.py sind dies die Zeilen 1509 und 1510. Will ich Debuggen kam eine Fehlermeldung mit Verweis auf einen Syntaxfehler in Zeile 1509.

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
Zuletzt geändert von Anonymous am Sonntag 18. Dezember 2016, 17:50, insgesamt 1-mal geändert.
Grund: Quelltext in Python-Codebox-Tags gesetzt.
Benutzeravatar
pyHoax
User
Beiträge: 84
Registriert: Donnerstag 15. Dezember 2016, 19:17

kodela hat geschrieben:Hallo,


Kann mir jemand sagen, wie die richtige Syntax für diese beiden Zeilen aussieht?

MfG, kodela
Schau dir mal die Zeile davor an, da fehlt die Schliessende Klammer im print Statement... vermutlich Taste nicht richtig getroffen ?

print( "'+++ JPy/sessionended/"=

nach

print( "'+++ JPy/sessionended/")
kodela
User
Beiträge: 185
Registriert: Montag 12. Oktober 2015, 21:24
Wohnort: Landsberg am Lech
Kontaktdaten:

Oh - vielen Dank!

das ist ja beschämend.

MfG, kodela
Antworten