2009-08-10 9 views
2

Java InputStream stellt eine Methode namens available bereit, die die Anzahl der Bytes zurückgibt, die ohne Blockierung gelesen werden können.Was entspricht Pythons Java InputStreams verfügbarer Methode?

Wie kann ich dies in Python erreichen?

+2

Können Sie erklären, warum Sie diese Informationen benötigen? Es ist nicht, gut, verfügbar. –

Antwort

3

Sie müssen uns mitteilen, mit welchem ​​Objekttyp Sie arbeiten. Ich gehe davon aus, dass Sie über ein Socket lesen sprechen. Entweder lesen Sie den Socket mit Blockierung oder Sie lesen ohne Blockierung. Sie können messen, wie Sie gerade in einem non-blocking lesen gelesen haben, wenn Sie daran interessiert sind. Es klingt jedoch so, als würde man versuchen, Python in ein stream-buffer-Paradigma im java.io-Stil zu verbiegen, das es im Detail nicht unterstützt.

1

Vielleicht helfen die Antworten auf this question.

Oder that link.

Zusammenfassend können Sie select verwenden, die für Sockets in Windows und für Sockets und andere Dateien (und Pipes) in UNIX funktioniert.

+0

Ich wusste über Select, aber ich dachte, es gab einen anderen Weg :) – Geo

+0

Vielleicht sollten Sie diese Informationen zu Ihrer Frage das nächste Mal hinzufügen? – 0x89