我有幾百萬張圖片存盤為 jpg。我想將每個 jpg 的大小減少 80%。這是我目前正在使用的 bash 回圈(我在 MacOS 上):
for i in *jpg; do convert "$i" -quality 80% "${i%.jpg}.jpg"; done;
上面一行按順序轉換影像。有沒有辦法并行化從而加速這種轉換?我不需要使用 bash,只想找到進行轉換的最快方法。
uj5u.com熱心網友回復:
使用 Python 你可以這樣做:
import glob
import shlex
import subprocess
from tqdm.contrib.concurrent import thread_map
def reduce_file(filepath):
output = f"{filepath}_reduced.jpg"
cmd = f"convert {filepath} -quality 80% {output}"
subprocess.run(shlex.split(cmd))
list(thread_map(reduce_file, glob.glob("./images/*.jpg")))
鑒于您的影像在images/*.jpg.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/358848.html
上一篇:無法加載隨機影像
