欢迎访问宙启技术站
智能推送

在Python中实现一个简单的文件压缩和解压缩程序

发布时间:2023-12-04 08:52:44

在Python中,我们可以使用zipfile模块来实现文件的压缩和解压缩。zipfile模块提供了对zip文件的读取和写入功能,可以用于创建、添加、解压缩、查看和修改zip文件。

下面是一个使用zipfile模块实现文件压缩和解压缩的例子:

### 文件压缩

import zipfile

def compress_files(file_list, output_name):
    with zipfile.ZipFile(output_name, 'w') as zipf:
        for file in file_list:
            zipf.write(file)
    print("Files compressed successfully!")

# 使用例子
files = ['file1.txt', 'file2.txt', 'file3.txt']
output_name = 'compressed_files.zip'
compress_files(files, output_name)

在上面的例子中,我们定义了一个compress_files函数来压缩文件。该函数接收要压缩的文件列表和输出压缩文件的名称作为参数。首先,我们使用zipfile模块的ZipFile方法创建一个压缩文件对象zipf,并指定打开模式为'w',表示写入。然后,我们使用for循环遍历要压缩的文件列表,使用zipf.write方法将每个文件写入压缩文件中。最后,通过with语句结束后,压缩文件将自动关闭。压缩完成后,我们打印一条提示信息。

### 文件解压缩

import zipfile

def extract_files(zip_file, output_dir):
    with zipfile.ZipFile(zip_file, 'r') as zipf:
        zipf.extractall(output_dir)
    print("Files extracted successfully!")

# 使用例子
zip_file = 'compressed_files.zip'
output_dir = 'extracted_files'
extract_files(zip_file, output_dir)

在上面的例子中,我们定义了一个extract_files函数来解压缩文件。该函数接收压缩文件的名称和输出解压缩文件的目录作为参数。首先,我们使用zipfile模块的ZipFile方法创建一个压缩文件对象zipf,并指定打开模式为'r',表示读取。然后,我们使用zipf.extractall方法将压缩文件中的所有文件解压到指定的输出目录中。最后,通过with语句结束后,压缩文件将自动关闭。解压缩完成后,我们打印一条提示信息。

以上就是一个简单的文件压缩和解压缩程序的实现。你可以根据自己的需要修改和扩展这个程序,例如可以添加文件夹的压缩和解压缩功能。