我想使用命令行中的 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 {} {} \;
我想使用命令行中的 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 {} {} \;
回答:
find /img/path -name "*.jpg" -type f -exec jpegtran -copy none -optimize -outfile {} {} \;
虽然它很早就在这里解决了,但谈论的是 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 概念。