用python写代码,重复50次将当前程序目录下的“input.jpg”文件压缩至百分之八十,然后输出为“output.jpg”,不使用PIL
时间: 2024-10-27 21:15:32 浏览: 12
在Python中,我们可以利用`shutil`库来进行文件的压缩操作,而不需要直接依赖图像处理库如PIL。但是请注意,标准的`shutil`库并不支持百分比压缩,通常用于文件复制、移动等基本操作。为了达到类似的效果,可以借助第三方库如`zipfile`来创建zip文件并设置压缩级别。
以下是实现这个需求的一个示例代码:
```python
import os
import zipfile
# 设置压缩级别,范围从0(无压缩)到9(最高压缩)
COMPRESSION_LEVEL = zipfile.ZIP_DEFLATED
for _ in range(50):
# 获取当前工作目录
current_dir = os.getcwd()
# 定义源文件路径和目标文件路径
input_file = os.path.join(current_dir, "input.jpg")
output_file = os.path.join(current_dir, "output_{counter}.jpg.zip".format(counter=_+1))
# 创建压缩文件
with zipfile.ZipFile(output_file, 'w', compression=COMPRESSION_LEVEL) as zipf:
# 将输入图片添加到压缩文件
zipf.write(input_file)
# 如果需要覆盖原有的output.jpg,可以移除旧的压缩文件后再生成新的
if os.path.exists('output.jpg.zip'):
os.remove('output.jpg.zip')
print("50次压缩任务已完成.")
阅读全文