python 压缩 文件
时间: 2024-01-10 22:19:19 浏览: 36
以下是Python压缩文件的两个例子:
1. 压缩单个文件
```python
from zipfile import ZipFile
with ZipFile('output.zip', 'w') as z:
z.write('input.txt')
```
2. 压缩多个文件
```python
from zipfile import ZipFile
with ZipFile('output.zip', 'w') as z:
z.write('file1.txt')
z.write('file2.txt')
z.write('file3.txt')
```
以上两个例子都使用了Python标准库中的zipfile模块。第一个例子中,我们使用了ZipFile类来创建一个名为output.zip的压缩文件,并将input.txt文件写入其中。第二个例子中,我们在ZipFile类中多次调用write方法,将多个文件写入压缩文件中。
相关问题
python压缩文件
要在Python中压缩文件,你可以使用zipfile模块。下面是一个示例代码:
```python
import zipfile
def compress_files(file_paths, zip_name):
with zipfile.ZipFile(zip_name, 'w') as zipf:
for file in file_paths:
zipf.write(file)
# 假设有两个文件需要压缩
file_paths = ['file1.txt', 'file2.txt']
zip_name = 'compressed.zip'
compress_files(file_paths, zip_name)
```
在上面的示例中,`compress_files`函数接收一个文件路径列表和一个压缩文件名作为参数。它使用`zipfile.ZipFile`创建一个新的zip文件对象,并使用`write`方法逐个将文件添加到压缩文件中。最后,使用`with`语句来确保在操作完成后自动关闭zip文件。
你可以根据自己的需要修改代码,例如添加异常处理或递归压缩文件夹中的所有文件。
python压缩文件进度
以下是使用Python进行文件压缩并显示进度的示例代码:
```python
import os
import shutil
import zipfile
from tqdm import tqdm
def zip_dir(src_dir, dst_dir, zip_name):
"""
将指定目录下的文件压缩成zip格式,并显示压缩进度
:param src_dir: 需要压缩的目录
:param dst_dir: 压缩后的文件存放目录
:param zip_name: 压缩后的文件名
"""
abs_src = os.path.abspath(src_dir)
abs_dst = os.path.abspath(dst_dir)
zip_path = os.path.join(abs_dst, zip_name)
zipf = zipfile.ZipFile(zip_path, 'w', zipfile.ZIP_DEFLATED)
for root, dirs, files in os.walk(src_dir):
for file in tqdm(files):
abs_path = os.path.abspath(os.path.join(root, file))
arc_path = abs_path[len(abs_src) + 1:]
zipf.write(abs_path, arc_path)
zipf.close()
# 示例
src_dir = r'D:\save'
dst_dir = r'D:\hello'
zip_name = 'world.zip'
if not os.path.exists(dst_dir):
os.makedirs(dst_dir)
zip_dir(src_dir, dst_dir, zip_name)
```
在上述代码中,我们使用了tqdm库来显示压缩进度。tqdm是一个快速,可扩展的Python进度条库,可以在循环中轻松地添加进度条。我们使用os.walk()函数遍历指定目录下的所有文件,然后使用zipfile.ZipFile()函数将文件压缩成zip格式。在压缩过程中,我们使用tqdm库来显示进度条。