Seite 1 von 1

stderr und stdout umleitung bei jython!?

Verfasst: Mittwoch 7. Mai 2008, 09:35
von mulder
moin!

also .. ich nutze jython (Jython 2.1 on java (JIT: jitc)) auf unix ..

und wollte in einem script die stderr auf stdout umleiten und die stdout in eine datei schreiben!

Code: Alles auswählen

import sys
sys.stdout = open('/tmp/sysout.out', 'w')
sys.stderr = sys.stdout
unter python 2.5 auf meiner workstation funktiniert das! aber unter jython wird das stderr nicht umgeleitet!

hab ich irgendwas uebersehn? .. oder verhaelt sich da jython anders?

mulder[/code]

Verfasst: Mittwoch 7. Mai 2008, 11:41
von Masaru
Ich hab folgendes Skript mit jytoh-2.2.1 unter Windows getestet und es hat funktioniert:

Code: Alles auswählen

import sys

class StdErrException(Exception):
    pass

def test():
    f_sysout = open(r'test.txt', 'w')
    sys.stdout = f_sysout
    print "stdout test"

    sys.stderr = sys.stdout # ist diese Zeile auskommentiert, wird die
                            # Exception auf der Console ausgeworfen
    raise StdErrException("stderr test")

if __name__ == '__main__':
    test()
In der Datei fand ich wie erwartet:

Code: Alles auswählen

stdout test
Traceback (innermost last):
  File "test.py", line 14, in ?
  File "test.py", line 11, in test
StdErrException: stderr test
Ich schmeiss mal jython auf eins meiner *nix Systeme ... aber es würde mich wundern, wenn es sich dort anders verhalten würde.

>>Masaru<<

Verfasst: Mittwoch 7. Mai 2008, 12:46
von Masaru
Mit jython-2.2.1 und selbigem Skript hat es nun ebenfalls unter SuSe Linux 9 geklappt.

EDIT:
Und auf einer HP-UX Maschine hat es auch wunderbar und ohne Schwierigkeiten geklappt.

Ich kann leider das bei Dir beobachtete Verhalten nicht reproduzieren :?
Bei einer regulären jython-Installation "sollte" es "eigentlich" funktionieren.

>>Masaru<<

Re: stderr und stdout umleitung bei jython!?

Verfasst: Mittwoch 7. Mai 2008, 13:10
von mkesper
mulder hat geschrieben:moin!

also .. ich nutze jython (Jython 2.1 on java (JIT: jitc)) auf unix ..
Diese Version ist mittlerweile längst überholt, vielleicht liegt es daran.

Verfasst: Mittwoch 7. Mai 2008, 15:10
von mulder
danke! ..

@mkallas: ich kanns nicht updaten .. da es zu websphere gehoert!

@masaru: ich hab "deine loesung" bei mir (aix) getestet .. und es geht auch nicht! :lol: also schiebe ich es auf die jython implementierung im websphere

danke