Vorrei scaricare un file usando urllib e decomprimere il file in memoria prima di salvare.Scaricare e decomprimere il file gzippato in memoria?
Questo è ciò che ho in questo momento:
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())
Questo finisce per la scrittura di file vuoti. Come posso ottenere ciò che sto cercando?
Risposta Aggiornato:
#! /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())
cosa c'è di sbagliato con decompressione su disco? – MattDMo
Sto decomprimendo su disco, semplicemente non lasciando mai che i byte compressi tocchino il disco. – OregonTrail
il file '' compressedFile' 'non ci mette mai dentro? – MattDMo