下面是详细讲解“Python实现压缩文件夹与解压缩zip文件的方法”的完整攻略。
压缩文件夹
安装zipfile模块
首先,我们需要安装Python自带的zipfile模块,这个模块提供了对zip格式的压缩和解压缩的支持。
import zipfile
创建zip文件
在使用zipfile模块压缩文件夹之前,我们需要创建一个zip文件。
import os
# 待压缩的文件夹路径
folder_path = 'path/to/folder'
# 压缩后的zip文件名
zip_file_name = 'compressed.zip'
# 创建zip文件
with zipfile.ZipFile(zip_file_name, 'w', zipfile.ZIP_DEFLATED) as zip_file:
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
zip_file.write(file_path, os.path.relpath(file_path, folder_path))
这个代码可以将文件夹“path/to/folder”压缩成一个名为“compressed.zip”的压缩文件。
值得注意的是,我们使用了os模块的walk方法来遍历文件夹中的所有文件及其子文件夹,ZipFile的write方法可以将每个文件写入到zip文件中。
添加压缩文件
如果您需要将新的文件添加进压缩文件中,我们可以使用ZipFile的write方法。
# 添加文件或目录到已经存在的zip文件中
with zipfile.ZipFile(zip_file_name, 'a', zipfile.ZIP_DEFLATED) as zip_file:
zip_file.write('path/to/newfile', 'newfile.txt')
解压缩zip文件
解压缩zip文件
同样的,我们需要使用zipfile模块中的ZipFile方法解压缩zip文件。
# 解压缩zip文件
with zipfile.ZipFile(zip_file_name, 'r') as zip_file:
zip_file.extractall('path/to/extract')
这个代码可以将名为“compressed.zip”的压缩文件解压缩到“path/to/extract”目录下。
值得注意的是,extractall方法会解压缩压缩文件中的所有文件和目录,需要确保传入的第二个参数是一个存在的目录路径。
解压单个文件
如果您只需要解压缩zip文件中的某个文件,可以使用extract方法。
# 解压缩zip文件中单个文件
with zipfile.ZipFile(zip_file_name, 'r') as zip_file:
zip_file.extract('path/to/file', 'path/to/extract')
这个代码可以将压缩文件中的“path/to/file”文件解压缩到“path/to/extract”目录下。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现压缩文件夹与解压缩zip文件的方法 - Python技术站