Nehal Patel <nehal.a...@gmail.com> added the comment:

In my use case, I was actually trying to stream a large gzip file from the 
cloud directly into subprocess without spilling onto disk or RAM i.e. the code 
actually  looked something more like:

r, w = os.pipe()
# ... launch a thread to feed r
with gzip.open(os.fdopen(w, 'rb')) as gz:
    res = subprocess.run("myexe", stdin=gz, capture_output=True)
## fyi, expected output is tiny
 
(In my case, I could modify the executable to expect compressed input, so I 
chose that solution.  Another possibility would have been to use 
subprocess.POpen twice, once with  'gzcat' and second with 'myexe')

I agree that given how libgz works, it would be difficult to fix the  problem.  
I would suggest finding a way to alert the user about this issue because it 
will in general be a very confusing situation when this happens.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue40885>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to