您可以使用Python内置的zipfile模块来压缩文件夹下的所有文件。下面是一个简单的示例代码:
import zipfile
import os
def zip_dir(dir_path, zip_path):
压缩指定文件夹下的所有文件
:param dir_path: 需要压缩的文件夹路径
:param zip_path: 压缩后的zip文件路径
:return: 无返回值
with zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED) as zip_file:
for foldername, subfolders, filenames in os.walk(dir_path):
for filename in filenames:
file_path = os.path.join(foldername, filename)
zip_file.write(file_path, file_path[len(dir_path):])
if __name__ == '__main__':
dir_path = '/path/to/folder'
zip_path = '/path/to/archive.zip'
zip_dir(dir_path, zip_path)
上面的代码中,zipfile.ZipFile()
方法用于创建一个 ZipFile 对象,使用 'w' 参数表示创建一个新的 zip 文件,'zipfile.ZIP_DEFLATED' 表示采用压缩算法。接着,os.walk()
方法用于遍历指定文件夹下的所有子文件夹和文件。在循环中,我们通过os.path.join()
方法获取文件的绝对路径,并使用zip_file.write()
方法将文件添加到压缩文件中。
最后,在 if __name__ == '__main__':
语句块中,您需要将 dir_path
和 zip_path
分别设置为要压缩的文件夹路径和压缩后的zip文件路径,然后调用 zip_dir()
函数即可完成压缩。