Est-il possible de lire stdin en tant que données binaires dans Python 2.6? Si c'est le cas, comment?Lecture de données binaires à partir de stdin
Je vois dans le Python 3.1 documentation que c'est assez simple, mais les facilités pour faire cela dans 2.6 ne semblent pas être là.
Si les méthodes décrites en 3.1 ne sont pas disponibles, existe-t-il un moyen de fermer stdin et rouvrir en mode binaire?
Mise à jour
Pour être clair, je me sers de « type » dans une coquille MS-DOS pour tuyau le contenu d'un fichier binaire à mon code python. Cela devrait être l'équivalent d'une commande "chat" Unix, autant que je comprends. Mais quand je teste cela, je reçois toujours un octet de moins que la taille de fichier attendue.
Mise à jour # 2
Tout d'abord, merci pour toutes les réponses. Je travaille lentement vers une solution réelle et utilisable ici. À la fin, j'essaie toujours de construire un fichier JAR autonome qui exécute mon code Python en passant automatiquement par tous les arguments de la ligne de commande sans tache.
La raison pour laquelle je vais sur la route Java/JAR/Jython est que l'une de mes bibliothèques externes principales est seulement disponible en Java JAR. Mais malheureusement, j'avais commencé mon travail en tant que Python. Il aurait peut-être été plus facile de convertir mon code à Java il y a quelque temps, mais comme tout cela était supposé être compatible, j'ai pensé que j'essaierais de le faire passer en revue et de prouver que cela pouvait être fait.
Dans le cas où quelqu'un se demandait, c'est aussi lié à la question que j'ai posée il y a quelques jours.
Packaging and deploying a Jython program from Eclipse
Une partie de cette question a été répondu à cette question.
Donc, je vais essayer de mettre à jour ma question originale avec quelques notes sur ce que j'ai compris jusqu'à présent.
J'ai testé cela avec 'type' et il semble fonctionner. C'est-à-dire, si je laisse de côté le drapeau -u, j'obtiens un caractère de moins par ligne. –
Cool. Merci pour le test. Donc, juste parce que je vous aime tellement, aucune idée comment passer l'option '-u' à travers la classe JarRunner.java qui est utilisée pour déclencher Jython à travers un fichier JAR exécutable? Je sais. Je ne fais jamais rien de la manière la plus simple. – thebeav
Selon docs, la définition de la variable d'environnement PYTHONUNBUFFERED aura le même effet. Je ne sais pas si cela aide. –