如何让Python 2.4.3能够提取Python 2.6中引入的ZIP文件?

时间:2013-02-01 19:14:08

标签: python zipfile

ZipFile.extract(member[, path[, pwd]])是Python 2.6中引入的新功能。出于某种原因,我需要在Python 2.4.3中实现ZipFile.extract(2.4.3无法处理ZipFile,只能处理一些属性)。

我正在考虑在我需要使用提取函数的python脚本中显式导入zipfile.py

我的考虑是我不知道zipfile.py中是否有任何新的语法或新功能与Python 2.4.3标准不兼容。

还有其他方法吗?

提前谢谢!

1 个答案:

答案 0 :(得分:2)

可以使用ZipFile.extract()ZipFile.open()open()来模拟

shutil.copyfileobj()。根据正在使用的Python版本,该功能甚至可以通过猴子修补到ZipFile

if PythonVersion < 2.6: # obviously not how it's done
  def myextract(self, member, path=None, pwd=None):
     ...
  zipfile.ZipFile.extract = myextract