用python写个批量无损压缩图片的代码
以下是一个可以批量无损压缩图片的Python代码:
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)
该代码使用了jpegtran工具来进行无损压缩。首先删除输出目录,然后创建一个新的输出目录。接着遍历输入目录下的所有文件,如果是jpg、jpeg或png格式的图片,则使用jpegtran工具进行无损压缩,并将压缩后的图片保存到输出目录中。注意,该代码需要在安装jpegtran工具的前提下才能运行。
原文地址: https://www.cveoy.top/t/topic/btJI 著作权归作者所有。请勿转载和采集!