下面是Python实现批量压缩文件/文件夹zipfile
的使用的完整攻略。
什么是zipfile
zipfile
是Python自带的标准库之一,用于进行ZIP文件的压缩和解压缩。我们可以使用zipfile
库来打包多个文件或文件夹为单个ZIP文件,或者解压缩已经存在的ZIP文件。
安装zipfile库
由于zipfile是Python标准库之一,所以无需安装。
使用zipfile库进行批量压缩
下面是使用zipfile库进行批量压缩的代码实现。在本例中,我们将使用zipfolder()
方法将指定的文件夹压缩为ZIP文件,并保存到指定的目录中。
import os
import zipfile
def zipfolder(source_dir, dest_dir):
os.chdir(source_dir)
with zipfile.ZipFile(dest_dir + '/' + source_dir + '.zip', 'w', zipfile.ZIP_DEFLATED) as zipobj:
for root, dirs, files in os.walk("."):
for filename in files:
zipobj.write(os.path.join(root, filename))
print("Done")
# Example usage
zipfolder("my_folder", "/Users/user/zipfiles")
在本例中,我们传入的参数为source_dir
为需要压缩的文件夹路径,dest_dir
为压缩后的ZIP文件保存的目录。该方法将先切换到source_dir
目录下,然后递归遍历所有子目录和文件,将它们添加到ZIP文件中。
使用zipfile库进行批量解压缩
下面是使用zipfile库进行批量解压缩的代码实现,我们使用ZipFile()
方法打开指定的ZIP文件,然后使用extractall()
方法解压缩其中的所有文件到指定的目录中。
import zipfile
def unzip_folder(source_file, dest_dir):
with zipfile.ZipFile(source_file, 'r') as zipobj:
zipobj.extractall(dest_dir)
print("Done")
# Example usage
unzip_folder("/Users/user/zipfiles/my_folder.zip", "/Users/user/unzipfiles")
在本例中,我们传入的参数为source_file
为需要解压缩的ZIP文件路径,dest_dir
为解压缩后的文件保存的目录。该方法将打开ZIP文件,然后解压缩其中的文件到指定的目录中。
示例说明
示例1
如果我们使用上述的代码进行批量压缩/Users/user/my_folders
目录中所有的文件夹,将其打包成一个压缩文件,并保存到/Users/user/zipfiles
目录中,我们可以执行以下代码:
# Example usage
zipfolder("/Users/user/my_folders", "/Users/user/zipfiles")
这时将会在/Users/user/zipfiles
目录中生成一个压缩文件,文件名为my_folders.zip
。
示例2
如果我们使用上述的代码进行批量解压缩/Users/user/zipfiles/my_folder.zip
文件,并将其解压缩到/Users/user/unzipfiles
目录中,我们可以执行以下代码:
# Example usage
unzip_folder("/Users/user/zipfiles/my_folder.zip", "/Users/user/unzipfiles")
这时将会在/Users/user/unzipfiles
目录中生成一个名为my_folder
的文件夹,其中包含被解压出来的所有文件和子文件夹。
以上就是Python实现批量压缩文件/文件夹zipfile
的使用攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现批量压缩文件/文件夹zipfile的使用 - Python技术站