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

使用Python编写的简单文件压缩和解压缩程序

发布时间:2023-12-04 13:41:53

下面是使用Python编写的简单文件压缩和解压缩程序的代码和使用例子:

压缩程序:

import zipfile

def compress_file(source_file, destination_file):
    with zipfile.ZipFile(destination_file, 'w') as zip_file:
        zip_file.write(source_file, compress_type=zipfile.ZIP_DEFLATED)

source_file = 'example.txt'
destination_file = 'example.zip'
compress_file(source_file, destination_file)

解压缩程序:

import zipfile

def decompress_file(source_file, destination_folder):
    with zipfile.ZipFile(source_file, 'r') as zip_file:
        zip_file.extractall(destination_folder)

source_file = 'example.zip'
destination_folder = 'example_folder'
decompress_file(source_file, destination_folder)

使用例子:

import shutil

# 创建一个示例文件
with open('example.txt', 'w') as file:
    file.write('Hello, world!')

# 压缩文件
source_file = 'example.txt'
destination_file = 'example.zip'
compress_file(source_file, destination_file)

# 删除原文件
shutil.rmtree(source_file)

# 解压缩文件
source_file = 'example.zip'
destination_folder = 'example_folder'
decompress_file(source_file, destination_folder)

# 打印解压缩后的文件内容
with open('example_folder/example.txt', 'r') as file:
    content = file.read()
    print(content)

上述代码中,compress_file函数用于压缩文件,接受源文件路径和目标压缩文件路径作为参数。其中,zipfile.ZipFile(destination_file, 'w')创建了一个新的Zip文件对象,然后使用write方法将源文件添加到压缩文件中,并指定了压缩类型为zipfile.ZIP_DEFLATED

decompress_file函数用于解压缩文件,接受源压缩文件路径和目标文件夹路径作为参数。其中,zipfile.ZipFile(source_file, 'r')创建了一个Zip文件对象,然后使用extractall方法将压缩文件中的所有文件解压缩到目标文件夹中。

使用例子中,先使用open函数创建了一个示例文件example.txt,然后调用compress_file函数将该文件压缩为example.zip。接着使用shutil.rmtree删除了原文件,最后调用decompress_file函数将压缩文件解压缩到example_folder文件夹中。最后,使用open函数打开解压缩后的文件,并读取其内容进行打印。