Zum Beispiel:Wie pipe ich Ausgabe von einem Python-Skript als Eingabe in ein anderes Python-Skript?
A script1.py ein Infix Expression von dem Benutzer erhält, und wandelt sie in eine Postfix Ausdruck und gibt es oder er druckt
script2.py nach stdout erhält eine Postfix-Expression von stdin und auswertet es und gibt den Wert
ich so etwas wie dies tun wollte:
python3 script1.py | python3 script2.py
Dies allerdings nicht funktioniert, könnten Sie mir zeigen in die richtige Richtung, wie ich dies tun könnte?
EDIT -
hier sind einige weitere Details darüber, was "nicht funktioniert".
Wenn ich ausführen python3 script1.py | python3 script2.py Das Terminal fragt mich nach Eingabe für das script2.py-Programm, wenn es nach Eingabe für das script1.py-Programm fragen und diese als script2.py-Eingabe umleiten soll.
So fragt es mich, "Geben Sie einen Postfix-Ausdruck ein:", wenn es fragen sollte "Geben Sie einen Infix-Ausdruck ein:" und leiten Sie das zum Postfix-Skript um.
was ist falsch, wenn Sie sie als Funktion setzen und sie nur nacheinander aufrufen. Dein Weg sollte übrigens funktionieren, das Problem muss deine de/serialisierung sein. – HuStmpHrrr
Diese Befehlszeile sollte genau das tun, was Sie sagen, dass Sie wollen. Wie wird es Ihren Erwartungen * nicht gerecht * gerecht? ("Es funktioniert nicht" ist ein vollständig informationsfreier Problembericht.) – rici
Es ist nichts falsch daran, die Skripte als zwei separate Funktionen zu definieren und sie nacheinander aufzurufen, aber ich möchte lernen, wie man das macht. Was die De/Serialisierung angeht, könnten Sie das näher ausführen? – 7alman