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

使用Python编写一个简单的文件压缩解压工具

发布时间:2023-12-04 10:48:25

在Python中,我们可以使用zipfile模块提供的函数来压缩和解压文件。下面是一个简单的文件压缩解压工具的实现,并提供了使用例子。

## 1. 文件压缩

首先,我们需要导入zipfile模块,并创建一个ZipFile对象来表示压缩文件。

import zipfile

def compress_file(file_path, zip_path):
    with zipfile.ZipFile(zip_path, 'w') as zip:
        zip.write(file_path, arcname=file_path.split('/')[-1])

- file_path表示要压缩的文件路径。

- zip_path表示压缩后的输出文件路径。

我们使用with语句创建一个ZipFile对象,并指定打开模式为'w',表示创建一个新的zip文件,并写入压缩内容。

然后,我们使用write方法将要压缩的文件添加到zip文件中。arcname参数是可选的,表示在zip文件中保存的名称,默认为输入文件的路径。在这里,我们只保存文件的文件名,忽略其路径。

## 2. 文件解压

接下来,我们需要创建一个解压函数来解压zip文件。

def extract_file(zip_path, extract_path):
    with zipfile.ZipFile(zip_path, 'r') as zip:
        zip.extractall(extract_path)

- zip_path表示待解压的zip文件路径。

- extract_path表示解压后的输出路径。

同样,我们使用with语句创建一个ZipFile对象,并指定打开模式为'r',表示读取zip文件内容。

然后,我们使用extractall方法解压zip文件的所有内容到指定的输出路径。

## 3. 使用示例

假设我们有一个文件example.txt,内容如下:

This is an example file for compression and decompression.

### 压缩文件

我们可以在Python脚本中调用compress_file函数来压缩文件。

compress_file('example.txt', 'example.zip')

运行以上代码后,会生成一个名为example.zip的zip文件。

### 解压文件

同样地,在Python脚本中调用extract_file函数来解压文件。

extract_file('example.zip', '.')

运行以上代码后,会将example.zip中的内容解压到当前目录下。

## 综合示例

下面是一个完整的示例,包括文件压缩和解压的步骤:

import zipfile

def compress_file(file_path, zip_path):
    with zipfile.ZipFile(zip_path, 'w') as zip:
        zip.write(file_path, arcname=file_path.split('/')[-1])

def extract_file(zip_path, extract_path):
    with zipfile.ZipFile(zip_path, 'r') as zip:
        zip.extractall(extract_path)

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

# 解压文件
extract_file('example.zip', '.')

这样,我们就实现了一个简单的文件压缩解压工具。你可以根据自己的需要,对代码进行进一步的扩展和优化。