Input per Pipe in ein Script speisen

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
Clython
User
Beiträge: 151
Registriert: Samstag 21. August 2004, 13:58
Wohnort: Schweiz, BE-2500

Gehe ich richtig in der Annahme, dass ich das per os.pipe() mache? Aber wie genau? Kann mir mal jemand eine paar Zeilen Code schreiben?

Ich habe leider kein passendes Beispiel gefunden...

Danke im voraus
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Clython hat geschrieben:Gehe ich richtig in der Annahme, dass ich das per os.pipe() mache? Aber wie genau? Kann mir mal jemand eine paar Zeilen Code schreiben?
Hi Clython!

Hier habe ich ein Beispiel für dich.

Sender:

Code: Alles auswählen

# -*- coding: utf-8 -*-

import sys

FSE = sys.getfilesystemencoding()

def main():
    print u"Hallo Welt üöß".encode(FSE)
    print u"Das ist die zweite Zeile".encode(FSE)
    
if __name__ == "__main__":
    main()
Emfänger:

Code: Alles auswählen

# -*- coding: utf-8 -*-

import sys

FSE = sys.getfilesystemencoding()

def main():
    for line in sys.stdin.readlines():
        s = line.strip().decode(FSE)
        print "Empfangen: %s" % s.encode(FSE)
    
if __name__ == "__main__":
    main()
Aufruf:

Code: Alles auswählen

python pipetest_sender.py | python pipetest_empfaenger.py

Code: Alles auswählen

echo "Seavas" | python pipetest_empfaenger.py
mfg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Clython
User
Beiträge: 151
Registriert: Samstag 21. August 2004, 13:58
Wohnort: Schweiz, BE-2500

Jupp, dankeschön Gerold. Hat geholfen...
Antworten