Python 压缩 zip
Zip是一种常用的文件压缩格式,可以将多个文件或文件夹压缩成一个zip文件,便于传输和存储。Python提供了一个内置的zipfile模块,可以让我们方便地创建和解压zip文件。在本文中,我们将学习如何使用Python来压缩文件夹并创建一个zip文件。
压缩文件夹
首先,我们需要导入zipfile模块来处理zip文件。然后,我们可以使用zipfile.ZipFile类来创建一个新的zip文件,并使用write()方法向其中添加文件。下面是一个简单的示例代码,演示了如何压缩一个名为”example_folder”的文件夹:
在上面的代码中,我们定义了一个zip_folder函数,接受两个参数:folder_path是要压缩的文件夹路径,output_path是生成的zip文件路径。我们使用os.walk函数遍历文件夹中的每个文件,并使用zipf.write方法将文件添加到zip文件中。
运行上面的代码后,将在当前目录下生成一个名为”example.zip”的zip文件,其中包含了”example_folder”文件夹中的所有文件。
添加文件到zip
除了压缩整个文件夹之外,我们还可以将单个文件添加到现有的zip文件中。这可以通过ZipFile类的write()方法实现。下面的示例代码演示了如何将一个名为”example.txt”的文件添加到上一步创建的”example.zip”文件中:
在这段代码中,我们定义了一个add_file_to_zip函数,它接受两个参数:zip_path是要添加文件的zip文件路径,file_path是要添加的文件路径。我们在函数内使用ZipFile的’a’模式打开zip文件,这样可以追加新文件而不是创建一个新的zip文件。
运行上述代码后,我们将在”example.zip”文件中添加一个”example.txt”文件。
解压zip文件
除了压缩文件之外,zipfile模块还提供了解压zip文件的功能。通过使用ZipFile.extractall()方法,我们可以解压整个zip文件到指定目录。下面是一个示例代码,演示了如何解压”example.zip”文件到”extracted_folder”目录中:
在上面的代码中,我们定义了一个unzip_file函数,用来解压zip文件。它接受两个参数:zip_path是要解压的zip文件路径,output_path是解压后文件的保存路径。我们在函数内使用ZipFile的’r’模式打开zip文件,并通过extractall()方法将所有文件解压到指定目录中。
运行上述代码后,将在当前目录下生成一个名为”extracted_folder”的文件夹,其中包含了”example.zip”中的所有文件。
总结
在本文中,我们学习了如何使用Python中的zipfile模块来压缩和解压zip文件。通过示例代码,我们演示了如何压缩一个文件夹,向已有的zip文件中添加文件,以及解压zip文件到指定目录。掌握这些技巧可以让我们在处理文件压缩和解压时更加便捷和灵活。