Python 压缩zip
在日常开发中,我们经常会遇到需要将多个文件或文件夹打包成一个压缩文件的需求。Python提供了一个内置模块zipfile
来实现这个功能。本文将为大家介绍如何使用Python的zipfile
模块来压缩和解压zip文件,并提供一些常用的示例代码。
压缩zip文件
首先,我们需要导入zipfile
模块:
import zipfile
创建一个压缩文件
使用zipfile.ZipFile
类创建一个新的zip文件。你可以指定文件的名称和打开模式(默认为'r'
,只读模式)。
with zipfile.ZipFile('my_archive.zip', 'w') as myzip:
myzip.write('file1.txt')
myzip.write('file2.txt')
myzip.write('dir1')
以上代码将创建一个名为my_archive.zip
的新压缩文件,并添加了两个文件file1.txt
和file2.txt
,以及一个文件夹dir1
。注意,在使用write
方法添加文件或文件夹时,它们将被添加到压缩文件的根目录下。
添加文件到已有压缩文件
如果你已经有一个已存在的zip文件,你可以使用'a'
模式(追加模式)打开它,并向其中添加新的文件。
with zipfile.ZipFile('my_archive.zip', 'a') as myzip:
myzip.write('file3.txt')
上述代码将向my_archive.zip
压缩文件中添加一个名为file3.txt
的文件。
压缩整个文件夹
你还可以使用write
方法来压缩整个文件夹。
with zipfile.ZipFile('my_archive.zip', 'w') as myzip:
myzip.write('my_folder')
上述代码将压缩名为my_folder
的文件夹,并将其添加到my_archive.zip
压缩文件中。
解压zip文件
使用zipfile.ZipFile
类的extractall
方法可以将整个zip文件解压到指定的目标路径下。
with zipfile.ZipFile('my_archive.zip', 'r') as myzip:
myzip.extractall('extracted_folder')
以上代码将my_archive.zip
解压到名为extracted_folder
的目标文件夹中。
如果要只解压压缩文件中的部分文件,可以使用extract
方法,并指定要解压的文件名。
with zipfile.ZipFile('my_archive.zip', 'r') as myzip:
myzip.extract('file1.txt', 'extracted_folder')
上述代码将只解压my_archive.zip
压缩文件中的file1.txt
文件,并将其放在extracted_folder
目标文件夹中。
总结
本文介绍了如何使用Python的zipfile
模块来压缩和解压zip文件。我们学习了如何创建一个新的压缩文件,添加文件到已有压缩文件,压缩整个文件夹,以及解压zip文件到指定的目标路径下。希望本文对你在日常开发中处理压缩文件的需求有所帮助。
更多关于zipfile
模块的方法和属性,请参考官方文档:[