python散装笔记——131: 解压文件
为了提取或解压缩tarball(tar归档文件)、ZIP文件或gzip文件,Python分别提供了tarfile、zipfile和gzip模块。Python的tarfile模块提供了TarFile.extractall(path=".", members=None)函数,用于从tarball文件中提取内容。Python的zipfile模块提供了ZipFile.extractall([path[, members[, pwd]]])函数,用于解压ZIP压缩文件。最后,Python的gzip模块提供了GzipFile类,用于解压缩gzip文件。
1: 使用Python的ZipFile.extractall()解压ZIP文件
import zipfile
file_unzip = 'filename.zip' # 替换为实际的ZIP文件名
unzip = zipfile.ZipFile(file_unzip, 'r') # 打开ZIP文件
unzip.extractall() # 解压所有内容到当前目录
unzip.close() # 关闭文件
代码说明
- 导入模块:使用import zipfile导入zipfile模块。
- 打开ZIP文件:使用zipfile.ZipFile()打开ZIP文件,'r'表示以只读模式打开。
- 解压所有内容:调用extractall()方法将ZIP文件中的所有内容解压到当前目录。可以通过path参数指定解压到其他目录。
- 关闭文件:调用close()方法关闭ZIP文件,释放资源。
注意事项
- 如果ZIP文件包含密码,可以通过pwd参数传递密码(必须是字节类型,例如b'mypassword')。
- 如果需要解压到特定目录,可以指定path参数,例如unzip.extractall(path='output_directory')。
2: 使用Python的TarFile.extractall()解压tarball文件
import tarfile
file_untar = 'filename.tar.gz' # 替换为实际的tarball文件名
untar = tarfile.TarFile(file_untar) # 打开tarball文件
untar.extractall() # 解压所有内容到当前目录
untar.close() # 关闭文件
代码说明
- 导入模块:使用import tarfile导入tarfile模块。
- 打开tarball文件:使用tarfile.TarFile()打开tarball文件。
- 解压所有内容:调用extractall()方法将tarball文件中的所有内容解压到当前目录。可以通过path参数指定解压到其他目录。
- 关闭文件:调用close()方法关闭tarball文件,释放资源。
注意事项
- 如果tarball文件是gzip压缩的(如.tar.gz),可以直接使用tarfile.TarFile()打开。如果文件是bzip2压缩的(如.tar.bz2),需要指定mode='r:bz2',例如tarfile.TarFile(file_untar, mode='r:bz2')。
- 如果需要解压到特定目录,可以指定path参数,例如untar.extractall(path='output_directory')。