Open Stdin As Binary Options




Open Stdin As Binary OptionsExiste um metodo desacoplado de passar em um arquivo binario sem sofrer a penalidade de python tendo stdout unbuffered para toda a duracao de execucao de um programa (se eu pretender usar apenas cmdline e nao abrir (. Rb) Parece que - u e o Somente maneira de ler em um arquivo como dados binarios (de cmdline) - u Forcar stdin, stdout e stderr para ser totalmente unbuffered. In sistemas onde importa, tambem colocar stdin, stdout e stderr em modo binario. : 44 por algum motivo, python tem - u (saida unbuffered que torna as coisas muito lentas), tambem controlar se um arquivo no operador, como test. py lt myfile e tratado como entrada binaria. Eu corri em um problema em que eu Tinha que usar esse formato de entrada para uma classe e no processo de analisar o arquivo, ele iria ler o equivalente a 39ctrlz39 e matar o aplicativo. entao minha esperanca era que ha uma maneira de tratar um arquivo como binario em, w / o dizendo Python ter unbuffered saida ndash pyInTheSky Oct 4 11 at 12:02 2 Respostas Talvez voce poderia evitar o modo de arquivo Pythons, em vez de pegar o fileno fora do arquivo sys. stdin-like objeto, e usando os. read () para pegar dados de It Este codigo mudara a entrada padrao (somente) para o modo unbuffered. Usando isso, voce nao precisara invocar o interpretador com - u. Unix somente. No entanto, nao tenho certeza quais os efeitos colaterais que isso poderia ter, por exemplo, na funcao built-in rawinput. Tenha cuidado mesmo no modo de nao-bloqueio, se selecionar diz que o fd esta pronto para ler voce ainda precisara pegar OSError e verificar para e. errno os. errno. EAGAIN. Tais erros devem ser ignorados.