Ist es möglich, stdin als Binärdaten in Python 2.6 zu lesen? Wenn das so ist, wie?Binärdaten von stdin lesen
Ich sehe in der Python 3.1 documentation, dass dies ziemlich einfach ist, aber die Möglichkeiten dafür 2.6 scheint nicht da zu sein.
Wenn die in 3.1 beschriebenen Methoden nicht verfügbar sind, gibt es eine Möglichkeit, Stdin zu schließen und im Binärmodus wieder zu öffnen?
aktualisiert
Nur klar zu sein, ich bin mit ‚Typ‘ in einem MS-DOS-Shell Rohr des Inhalts einer Binärdatei in meinem Python-Code. Dies sollte dem Unix-Befehl 'Katze' entsprechen, soweit ich es verstehe. Aber wenn ich das auschecke, bekomme ich immer ein Byte weniger als die erwartete Dateigröße.
Update # 2
Zunächst einmal vielen Dank für die Antworten. Ich arbeite langsam an einer echten, brauchbaren Lösung. Am Ende versuche ich immer noch, eine in sich geschlossene JAR-Datei zu erstellen, die meinen Python-Code automatisch ausführt und alle Befehlszeilenargumente ohne Fehler übergibt.
Der Grund, warum ich die Java/JAR/Jython-Route gehe, ist, weil eine meiner externen Hauptbibliotheken nur als Java JAR verfügbar ist. Aber leider hatte ich meine Arbeit als Python begonnen. Es wäre vielleicht einfacher gewesen, meinen Code vor einiger Zeit auf Java zu konvertieren, aber da dieses Zeug eigentlich kompatibel sein sollte, dachte ich mir, ich würde versuchen, es durchzugehen und zu beweisen, dass es möglich ist.
Für den Fall, dass sich jemand fragen würde, hängt dies auch mit der Frage zusammen, die ich vor ein paar Tagen gestellt habe.
Packaging and deploying a Jython program from Eclipse
Einige dieser Frage wurde in dieser question beantwortet.
Also werde ich versuchen, meine ursprüngliche Frage mit einigen Notizen zu aktualisieren, was ich bis jetzt herausgefunden habe.
Ich habe dies mit "Typ" getestet und es scheint zu funktionieren. Das heißt, wenn ich das -u-Flag weglasse, bekomme ich ein Zeichen weniger pro Zeile. –
Kühl. Danke für den Test. Also, nur weil ich dich so sehr mag, jede Idee, wie die Option '-u' durch die JarRunner.java-Klasse übergeben wird, die verwendet wird, um Jython durch eine ausführbare JAR-Datei auszulösen? Ich weiß. Ich mache nie etwas auf die leichte Art. – thebeav
Laut der Dokumentation hat das Festlegen der Umgebungsvariable PYTHONUNBUFFERED denselben Effekt. Nicht sicher, ob das hilft. –