[Python] script bash-pipe compatibile
Manlio Perillo
manlio.perillo a gmail.com
Sab 24 Ott 2009 16:37:04 CEST
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Pietro Battiston ha scritto:
> [...]
> #! /usr/bin/python
>
> import sys
>
> while True:
> r = sys.stdin.readline()
> if not r:
> break
> try :
> sys.stdout.write(r)
> except:
> break
>
>
> a me funziona...
>
A me no.
Controlla meglio.
Su molti run, a volte ottieni un eccezione.
L'eccezione è causata dal runtime di Python, che chiama il distruttore
di stdout/stderr, il quale a sua volta chiama close che fallisce.
Il problema è che:
* non sembra sia possibile evitare che il traceback venga scritto su
stderr.
Modificare sys.excepthook non funziona
* non sembra sia possibile dire a Python che stdout/stderr va
considerato chiuso, e che quindi close non va chiamato
Credo che questo sia un problema interessante.
> [...]
Ciao Manlio
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEARECAAYFAkrjERAACgkQscQJ24LbaUSAaACeJW4Oze88VIunNvlrVey0so9r
5dYAn35BTi3rVLLbffPUcLKLSxdoITLd
=magB
-----END PGP SIGNATURE-----
Maggiori informazioni sulla lista
Python