7

我想使用命令行中的 jpg 图像优化整个测试文件夹。我发现了这个,但它不起作用:

cd /home/site/html/update/test/
find . -exec jpegtran -optimize "{}" "{}.opti.jpg" "{}" \;

我想覆盖现有的图像。

建议?

回答:

find /img/path -name "*.jpg" -type f -exec jpegtran -copy none -optimize -outfile {} {} \; 
4

2 回答 2

2

回答:

find /img/path -name "*.jpg" -type f -exec jpegtran -copy none -optimize -outfile {} {} \;
于 2017-07-19T01:03:55.143 回答
0

虽然它很早就在这里解决了,但谈论的是 Python 方法:

import subprocess
for image_name in arr:
    subprocess.call(["jpegtran", "-your", "-instructions"])

假设您的指令类似于:

jpegtran -optimize -progressive -scans script_new.txt -outfile progressive.jpg original.jpg

所以你的指令会是这样的:

subprocess.call(["jpegtran", "-optimize", "-progressive", "-scans", f"{scan_name}.txt", "-outfile", name_progressive, name_original])

为方便起见,name_progressive、name_original 和 scan_name 是变量,使用 f-string 概念。

于 2021-10-21T08:00:25.250 回答