Message370820
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. |
|
Date |
User |
Action |
Args |
2020-06-06 12:44:48 | Nehal Patel | set | recipients:
+ Nehal Patel, giampaolo.rodola, SilentGhost |
2020-06-06 12:44:48 | Nehal Patel | set | messageid: <1591447488.22.0.113630791363.issue40885@roundup.psfhosted.org> |
2020-06-06 12:44:48 | Nehal Patel | link | issue40885 messages |
2020-06-06 12:44:47 | Nehal Patel | create | |
|