【发布时间】:2021-12-25 12:37:36
【问题描述】:
我有几百万张图片以 jpg 格式存储。我想将每个 jpg 的大小减小 80%。这是我目前正在使用的 bash 循环(我在 MacOS 上):
for i in *jpg; do convert "$i" -quality 80% "${i%.jpg}.jpg"; done;
以上行顺序转换图像。有没有办法并行化从而加快这种转换?我不需要使用 bash,只想找到最快的方式进行转换。
【问题讨论】:
-
看multiprocessing。这个想法是在多进程之间共享工作。每个人都得到一个文件名列表并并行处理它们。您将能够从 python 代码调用
convert -
@balderman 是否有提供类似于
convert的功能的python 包? -
看看PIL
-
我想我会尝试使用 GNU 并行来编写一个简单的 shell 脚本。