[Python] script bash-pipe compatibile
Matteo Bertini
matteo a naufraghi.net
Sab 24 Ott 2009 14:32:38 CEST
Supponiamo di voler scrivere uno script python che consuma sys.stdin e
scrive su sys.stdout, ad esempio:
###
$ cat echo.py
import sys
for line in sys.stdin:
sys.stdout.write(line)
###
Purtroppo l'implementazione banale non si accoppia bene con altri tools
tipo 'head':
###
$ python -c "for x in range(200): print 'line'*(x+1)" | python echo.py |
head -5
line
lineline
linelineline
linelinelineline
linelinelinelineline
Traceback (most recent call last):
File "echo.py", line 5, in <module>
sys.stdout.write(line)
IOError: [Errno 32] Broken pipe
close failed in file object destructor: <---------- da qua in poi a
volte c'č a volte no
Error in sys.excepthook:
Original exception was:
###
Ho provato un po' a giocare con try except senza perņ beccare il punto
giusto...
Suggerimenti?
Matteo Bertini
Maggiori informazioni sulla lista
Python