返回
Python 轻松压缩 PNG 图片,命令行操作,肉眼无差异(三)
开发工具
2024-01-01 00:26:52
在上一篇文章中,我们实现了一个图片压缩函数。现在,如果您需要对图片进行压缩,可以调用已实现的函数进行压缩:
import compress_png
# 打开要压缩的图片
input_image = "image.png"
# 设置压缩率(0-100)
compression_level = 80
# 调用压缩函数
output_image = compress_png.compress_png(input_image, compression_level)
# 保存压缩后的图片
output_image.save("compressed_image.png")
但是,每次输入以下命令进行压缩:
python run_script.py
都没有对应的参数传入,因此还需要去修改脚本参数,这挺麻烦的。为了使用起来更方便,可以添加命令行的方式进行调用:
python click
库可以方便地实现这一功能。
安装 click 库
首先,使用 pip 安装 click 库:
pip install click
导入必要的模块
在您的 Python 脚本中,导入 click 模块:
import click
定义命令行选项
接下来,定义命令行选项。click.option() 装饰器用于定义命令行选项。
@click.option("-i", "--input", required=True, help="Input PNG image file path.")
@click.option("-o", "--output", required=True, help="Output compressed PNG image file path.")
@click.option("-c", "--compression-level", default=80, help="Compression level (0-100).")
-i
,--input
: 输入 PNG 图片文件的路径,这是一个必填选项。-o
,--output
: 输出压缩后 PNG 图片文件的路径,这是一个必填选项。-c
,--compression-level
: 压缩率(0-100),默认值为 80。
定义命令行函数
接下来,定义一个命令行函数,该函数将执行实际的压缩操作。
@click.command()
def compress_png_cli(input, output, compression_level):
"""Compress a PNG image."""
import compress_png
# 调用压缩函数
output_image = compress_png.compress_png(input, compression_level)
# 保存压缩后的图片
output_image.save(output)
compress_png_cli
是命令行函数的名称。input
: 输入 PNG 图片文件的路径。output
: 输出压缩后 PNG 图片文件的路径。compression_level
: 压缩率。
运行脚本
最后,使用以下命令运行脚本:
python compress_png_cli.py -i input.png -o output.png
其中,input.png
是要压缩的 PNG 图片文件的路径,output.png
是输出压缩后 PNG 图片文件的路径。
总结
通过使用 click 库,我们实现了使用命令行对 PNG 图片进行压缩的功能。这种方法更加方便和易于使用。