使用Python创建并压缩Zip文件
发布时间:2023-12-12 18:50:41
Python中可以使用zipfile模块来创建和压缩zip文件。zipfile提供了创建和处理zip文件的函数和类。
首先,我们需要导入zipfile模块:
import zipfile
接下来,我们可以使用zipfile模块的ZipFile类来创建一个zip文件。例如,我们要创建一个名为"example.zip"的zip文件:
zip_file = zipfile.ZipFile("example.zip", "w")
在创建zip文件之后,我们可以通过调用ZipFile对象的write()方法将文件添加到zip文件中。例如,我们要添加一个名为"file.txt"的文件到zip文件中:
zip_file.write("file.txt")
我们也可以使用write()方法指定文件在zip文件中的存储路径。例如,我们要将"file.txt"存储在zip文件中的"subfolder/file.txt"路径下:
zip_file.write("file.txt", "subfolder/file.txt")
除了添加文件,我们还可以添加文件夹到zip文件中。例如,我们要添加一个名为"folder"的文件夹到zip文件中:
zip_file.write("folder", arcname="folder")
在这个例子中,arcname参数用于指定文件夹在zip文件中的存储路径。
当我们完成所有文件和文件夹的添加后,我们需要关闭zip文件,以确保文件被正确写入:
zip_file.close()
除了创建zip文件,我们也可以使用zipfile模块的ZipFile类来压缩已存在的zip文件。
首先,我们需要打开已存在的zip文件:
existing_zip = zipfile.ZipFile("existing.zip", "r")
接下来,我们可以调用ZipFile对象的extractall()方法将zip文件中的所有文件解压缩到指定的目录中:
existing_zip.extractall("extracted_folder")
我们也可以使用extract()方法来解压缩单个文件:
existing_zip.extract("file.txt", "extracted_folder")
同样,在完成解压缩后,我们需要关闭已存在的zip文件:
existing_zip.close()
综上所述,以下是一个使用Python创建和压缩zip文件的完整例子:
import zipfile
# 创建zip文件
zip_file = zipfile.ZipFile("example.zip", "w")
# 添加文件到zip文件中
zip_file.write("file.txt")
# 将文件存储到指定路径下
zip_file.write("file.txt", "subfolder/file.txt")
# 添加文件夹到zip文件中
zip_file.write("folder", arcname="folder")
# 关闭zip文件
zip_file.close()
# 打开已存在的zip文件
existing_zip = zipfile.ZipFile("existing.zip", "r")
# 解压缩zip文件中的所有文件
existing_zip.extractall("extracted_folder")
# 解压缩单个文件
existing_zip.extract("file.txt", "extracted_folder")
# 关闭已存在的zip文件
existing_zip.close()
使用zipfile模块,可以方便地创建和压缩zip文件,并进行文件的添加和解压缩。
