Nehal Patel <[email protected]> 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 <[email protected]>
<https://bugs.python.org/issue40885>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com