Python中如何进行文件压缩和解压缩?代码举例讲解

在Python中,我们可以使用以下模块进行文件压缩和解压缩:

1. zipfile:

  • zipfile模块可以处理ZIP压缩文件。
  • 我们可以通过zipfile压缩和解压zip文件。
    例如:
import zipfile

# 压缩
with zipfile.ZipFile('压缩文件.zip', 'w') as f:
    f.write('文件1.txt')
    f.write('文件2.txt')

# 解压    
with zipfile.ZipFile('压缩文件.zip', 'r') as f:
    f.extractall()   # 解压全部文件
    f.extract('文件1.txt')  # 仅解压选定文件

2. gzip:

  • gzip模块可以压缩和解压gzip文件。
  • gzip文件以.gz为扩展名。
    例如:
import gzip

# 压缩    
with open('文件.txt', 'rb') as f_in, gzip.open('文件.txt.gz', 'wb') as f_out:
    f_out.writelines(f_in)

# 解压
with gzip.open('文件.txt.gz', 'rb') as f_in, open('文件.txt', 'wb') as f_out:
    f_out.writelines(f_in) 

3. tarfile:

  • tarfile模块可以处理tar包文件。
  • tar包可以包含多个文件,并且支持压缩,格式为.tar.gz或.tar.bz2。
    例如:
import tarfile

# 压缩    
with tarfile.open('压缩文件.tar.gz', 'w:gz') as tar:
    tar.add('文件1.txt')
    tar.add('文件2.txt')  

# 解压
with tarfile.open('压缩文件.tar.gz', 'r:gz') as tar:
    tar.extractall()  # 解压全部文件
    tar.extract('文件1.txt') # 解压选定文件

这些模块可以帮助我们对文件进行压缩和打包,从而节省存储空间。熟练掌握各种压缩格式和算法,可以让我们更加高效地处理和传输文件。