ZipFile 对象的 extractall()方法从 ZIP 文件中解压缩所有文件和文件夹,放到当
前工作目录中。
>>> import zipfile, os
>>> os.chdir('C:\\') # move to the folder with example.zip
>>> exampleZip = zipfile.ZipFile('example.zip')
➊ >>> exampleZip.extractall()
>>> exampleZip.close()
运行这段代码后,example.zip 的内容将被解压缩到 C:\。或者,你可以向 extractall()传递的一个文件夹名称,它将文件解压缩到那个文件夹,而不是当前工作目录。如果传递给
extractall()方法的文件夹不存在,它会被创建。例如,如果你用 exampleZip.extractall('C:\\
delicious')取代➊处的调用,代码就会从 example.zip 中解压缩文件,放到新创建的 C:\delicious 文件夹中。
ZipFile 对象的 extract()方法从 ZIP 文件中解压缩单个文件。继续交互式环境中的例子:
>>> exampleZip.extract('spam.txt')
'C:\\spam.txt'
>>> exampleZip.extract('spam.txt', 'C:\\some\\new\\folders')
'C:\\some\\new\\folders\\spam.txt'
>>> exampleZip.close()
传递给 extract()的字符串,必须匹配 namelist()返回的字符串列表中的一个。或者,你可以向
extract()传递第二个参数,将文件解压缩到指定的文件夹,而不是当前工作目录。如果第二个参数指定的文件夹不存在,Python 就会创建它。extract()的返回值是被压缩后文件的绝对路径。