Python 批量无损压缩图片代码 - 使用 jpegtran 工具
以下是一个可以批量无损压缩图片的 Python 代码,使用了 jpegtran 工具:
import os
import shutil
import subprocess
def compress_images(input_dir, output_dir):
if os.path.exists(output_dir):
shutil.rmtree(output_dir)
os.makedirs(output_dir)
for root, dirs, files in os.walk(input_dir):
for file in files:
if file.endswith('.jpg') or file.endswith('.jpeg') or file.endswith('.png'):
input_file = os.path.join(root, file)
output_file = os.path.join(output_dir, file)
subprocess.call(['jpegtran', '-copy', 'none', '-optimize', '-perfect', '-outfile', output_file, input_file])
if __name__ == '__main__':
input_dir = '/path/to/input/dir'
output_dir = '/path/to/output/dir'
compress_images(input_dir, output_dir)
该代码首先删除输出目录,然后创建一个新的输出目录。接着遍历输入目录下的所有文件,如果是 jpg、jpeg 或 png 格式的图片,则使用 jpegtran 工具进行无损压缩,并将压缩后的图片保存到输出目录中。注意,该代码需要在安装 jpegtran 工具的前提下才能运行。
原文地址: https://www.cveoy.top/t/topic/mXf9 著作权归作者所有。请勿转载和采集!