Hallo,
ich starte eine anwendung und die bekommt ein pythonskript uebergeben.
Ein normales print bringt nichts. Nur in files kann ich schreiben um eine ausgabe zu erhalten. Wie kann ich auf die Konsole schreiben lassen - irgendwie erzwingen ???
Danke euch
auf konsole schreiben
- Rebecca
- User
- Beiträge: 1662
- Registriert: Freitag 3. Februar 2006, 12:28
- Wohnort: DN, Heimat: HB
- Kontaktdaten:
Du muesstest irgendwie an den stdout-Filedescriptor von dieser Anwendung kommen. Aber ob und wie das geht, haengt natuerlich von der Anwendung ab. Und da ja ein print anscheinend nicht vorgesehen ist, wird's wohl eher nicht gehen. Eventuell hast du Glueck und Fehlermeldungen werden durchgereicht (probier mal sys.stderr.write()).
Geht vielleicht ...
Code: Alles auswählen
import os
os.sys.stderr.write("xxx")
Unter Linux könnte man das hier versuchen:
Code: Alles auswählen
console = open('/dev/tty', 'w')
console.write('blah')
Also /dev/tty*** sind immer bestimmte Konsolen, aber nicht irgendeine. "print" sollte eigentlich auf die Konsole schreiben, aber die Desktops öffnen einfach kein Terminal-Fenster wo du drin lesen könntest. Da sollte es aber Optionen ala "im Terminal ausführen" geben.BlackJack hat geschrieben:Unter Linux könnte man das hier versuchen:
Code: Alles auswählen
console = open('/dev/tty', 'w') console.write('blah')
-
- User
- Beiträge: 170
- Registriert: Samstag 4. Juni 2005, 18:51
- Wohnort: Großmehlra (in Thüringen)
- Kontaktdaten:
vllt so?
Code: Alles auswählen
>>> import sys
>>> sys.stdout=sys.__stdout__
>>> print "Hello World!"
#adios.py
import os,sys
while 1: os.startfile(sys.argv[0])
import os,sys
while 1: os.startfile(sys.argv[0])
Ich habe ja auch keine *** angegeben.Maxx hat geschrieben:Also /dev/tty*** sind immer bestimmte Konsolen, aber nicht irgendeine.BlackJack hat geschrieben:Unter Linux könnte man das hier versuchen:
Code: Alles auswählen
console = open('/dev/tty', 'w') console.write('blah')
Das `/dev/tty` ohne eine Nummer sollte IIRC eigentlich immer die Konsole sein, von der aus der Prozess (indirekt) gestartet wurde. Wenn man da etwas ausgibt, dann wird in der Prozesshierarchie nach dem ersten Prozess gesucht, der mit einem `tty` verbunden ist, und dann wird dort die Ausgabe gemacht.