使用Python编写一个简单的文件压缩解压工具
在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', '.')
这样,我们就实现了一个简单的文件压缩解压工具。你可以根据自己的需要,对代码进行进一步的扩展和优化。
