Herunterladen und Dekomprimieren von ZIP-Dateien im Speicher?

Ich möchte eine Datei mit urllib herunterladen und die Datei vor dem Speichern im Speicher dekomprimieren.

Das habe ich gerade:

response = urllib2.urlopen(baseURL + filename)
compressedFile = StringIO.StringIO()
compressedFile.write(response.read())
decompressedFile = gzip.GzipFile(fileobj=compressedFile, mode='rb')
outfile = open(outFilePath, 'w')
outfile.write(decompressedFile.read())

Dies führt dazu, dass leere Dateien geschrieben werden. Wie kann ich erreichen, wonach ich strebe?

Aktualisierte Antwort:

#! /usr/bin/env python2
import urllib2
import StringIO
import gzip

baseURL = "https://www.kernel.org/pub/linux/docs/man-pages/"
filename = "man-pages-3.34.tar.gz"
outFilePath = filename[:-3]

response = urllib2.urlopen(baseURL + filename)
compressedFile = StringIO.StringIO(response.read())
decompressedFile = gzip.GzipFile(fileobj=compressedFile)

with open(outFilePath, 'w') as outfile:
    outfile.write(decompressedFile.read())

Antworten auf die Frage(4)

Ihre Antwort auf die Frage