试图用Python解压缩gzip文件。 从互联网下载gzip文件,在本地保存,然后尝试解压缩。 由于某种原因,输出文件以0字节返回。 当您手动从APP应用程式萃取档案时,资料会是. list档案,而且在更名时,资料会很好地充当. txt档案。 能告诉我解压缩文件中没有数据的理由吗? 我还在学习Python。 def downloadExtractMovies () :
moviepath=OS.path.join (当前dir,moviesList ) )。
response_movies=open(moviepath,' w ' ) )。
f=urlopen(reqMovies ) ) )。
local _ file=open (移动列表,' w ' ) )。
local_file.write(f.read ) )
response_movies.close (
decompressed file=gzip.gzip file (文件obj=local _ file,mode='rb ' ) )
withopen(outfilepath_movies,' w ' ) as outfile:
outfile.write (decompressed file.read ()
local_file.close (
谢谢
编辑:通过将file对象包装在StringIO中,我在一定程度上解决了这个问题。 但是,如果提取输出160MB文件的文件,则工作正常。 但是,运行更大的文件(如220MB )将导致内存错误。 在
代码如下。
^{pr2}$
file ' d :portable python2.7.6.1 applibgzip.py ',line 254,in read
自. _读取(读取) )。
file ' d : 便携式python2.7.6.1 applibgzip.py ',line 313,in _read
elf._add_read_data(uncompress ) ) ) ) ) ) ) )。
file ' d : 便携式python2.7.6.1 applibgzip.py ',line 331,in _add_read_data
self.extra buf=self.extra buf [ offset : ] data
内存错误