¿Es posible leer stdin como datos binarios en Python 2.6? ¿Si es así, cómo?Lectura de datos binarios de stdin
veo en el Python 3.1 documentation que esto es bastante simple, pero las instalaciones para hacer esto en 2.6 no parecen estar allí.
Si los métodos descritos en 3.1 no están disponibles, ¿hay alguna manera de cerrar stdin y volver a abrir en modo binario?
actualización
Para que quede claro, yo estoy usando 'tipo' en un shell de MS-DOS a la tubería el contenido de un archivo binario a código Python. Esto debería ser el equivalente de un comando Unix 'cat', por lo que yo entiendo. Pero cuando pruebo esto, siempre obtengo un byte menor que el tamaño de archivo esperado.
Actualización # 2
En primer lugar, gracias por todas las respuestas. Estoy trabajando lentamente hacia una solución real y útil aquí. Al final, sigo intentando construir un archivo JAR autónomo que ejecute mi código Python pasando automáticamente por todos los argumentos de la línea de comandos sin contaminar.
La razón por la que voy por la ruta Java/JAR/Jython es porque una de mis bibliotecas externas principales solo está disponible como Java JAR. Pero desafortunadamente, comencé mi trabajo como Python. Pudo haber sido más fácil convertir mi código a Java hace un tiempo, pero dado que se suponía que todo esto era compatible, pensé que intentaría probarlo y probar que se podía hacer.
En caso de que alguien se esté preguntando, esto también está relacionado con la pregunta que hice hace unos días.
Packaging and deploying a Jython program from Eclipse
Parte de esa pregunta fue respondida en este question.
Así que trataré de actualizar mi pregunta original con algunas notas sobre lo que he averiguado hasta ahora.
He probado esto con 'tipo' y parece funcionar. Es decir, si dejo fuera el indicador -u, obtengo un carácter menos por línea. –
Cool. Gracias por la prueba. Entonces, solo porque me gustas tanto, ¿alguna idea de cómo pasar la opción '-u' a través de la clase JarRunner.java que se usa para disparar a Jython a través de un archivo JAR ejecutable? Lo sé. Nunca hago nada de la manera fácil. – thebeav
De acuerdo con los documentos, establecer la variable de entorno PYTHONUNBUFFERED tendrá el mismo efecto. No estoy seguro si eso ayuda. –