gzip解压str python_Python中的Gzip解压:文件输出为空

我试图用Python解压gzip文件。gzip文件从internet下载,然后保存在本地,然后尝试解压缩。由于某种原因,输出文件以0字节的形式返回。当我通过一个应用程序手动提取文件时,数据是一个.list文件,当它被重命名时,它可以很好地作为.txt文件工作。有人能告诉我为什么输出解压文件中没有数据吗?还在学习Python。在def downloadExtractMovies():

moviePath = os.path.join(currentDir,moviesList)

response_movies = open(moviePath, 'w')

f = urlopen(reqMovies)

local_file = open(moviesList, "w")

local_file.write(f.read())

response_movies.close()

decompressedFile = gzip.GzipFile(fileobj=local_file, mode='rb')

with open(outFilePath_movies, 'w') as outfile:

outfile.write(decompressedFile.read())

local_file.close()

谢谢

编辑:通过将file对象包装到StringIO中,我在一定程度上解决了这个问题。然而,当我提取一个输出160MB文件的文件时,它运行得很好。但是当我运行一个更大的文件,比如220MB,它会给我一个内存错误。在

代码如下:

^{pr2}$

回溯如下:File "D:\Portable Python 2.7.6.1\App\lib\gzip.py", line 254, in read

self._read(readsize)

File "D:\Portable Python 2.7.6.1\App\lib\gzip.py", line 313, in _read

self._add_read_data( uncompress )

File "D:\Portable Python 2.7.6.1\App\lib\gzip.py", line 331, in _add_read_data

self.extrabuf = self.extrabuf[offset:] + data

MemoryError

你可能感兴趣的:(gzip解压str,python)