On 3/10/2016 4:46 PM, Ian Kelly wrote:
On Thu, Mar 10, 2016 at 2:33 PM, Fillmore <fillmore_rem...@hotmail.com> wrote:
when I put a Python script in pipe with other commands, it will refuse to
let go silently. Any way I can avoid this?
What is your script doing? I don't see this problem.
ikelly@queso:~ $ cat somescript.py
import sys
for i in range(20):
sys.stdout.write('line %d\n' % i)
you are right. it's the with block :(
import sys
import csv
with open("somefile.tsv", newline='') as csvfile:
myReader = csv.reader(csvfile, delimiter='\t')
for row in myReader:
for i in range(20):
sys.stdout.write('line %d\n' % i)
$ ./somescript.py | head -5
line 0
line 1
line 2
line 3
line 4
Traceback (most recent call last):
File "./somescript.py", line 12, in <module>
sys.stdout.write('line %d\n' % i)
BrokenPipeError: [Errno 32] Broken pipe
Exception ignored in: <_io.TextIOWrapper name='<stdout>' mode='w'
encoding='UTF-8'>
BrokenPipeError: [Errno 32] Broken pipe
--
https://mail.python.org/mailman/listinfo/python-list