遍历文件夹并将png转换为jpg

时间:2019-06-12 14:28:44

标签: python-3.x png python-imaging-library jpeg

我有一个很大的文件夹,包含不同文件类型的图像(jpg + png)。我想遍历该文件夹并将所有png转换为jpeg。因此,例如image323.png将被转换为image323.jpg。

我还希望调整它们的大小,以使它们的大小都相同,而不会丢失其比例/比率。

我知道我需要遍历它们,并且可能使用一个有条件的(如果文件以png结尾,请更改为jpg),这将涉及使用PIl,但不确定如何将它们放在一起。

1 个答案:

答案 0 :(得分:2)

最简单的方法是使用 ImageMagick ,您可以使用 homebrew 将其安装在macOS上:

brew install imagemagick

首先制作一个备份副本,然后只需进入带有图像的目录并运行:

magick mogrify -format jpg *.png

如果您希望调整它们的大小,以使它们的最终宽度均为600像素:

magick mogrify -format jpg -resize 600x *.png

如果您希望调整它们的大小以使它们最终都达到300像素高:

magick mogrify -format jpg -resize x300 *.png

如果您希望调整它们的大小,以使它们最终的宽度不超过600像素,而高度不超过300像素:

magick mogrify -format jpg -resize 600x300 *.png

如果您希望调整它们的大小,以使它们的宽度最终恰好分别为600像素和300像素,即使这意味着扭曲了原始的宽高比:

magick mogrify -format jpg -resize 600x300\! *.png

根据所拥有映像的数量,映像的大小以及CPU和磁盘子系统的运行速度,使用 GNU Parallel 可以使安装效果更好,该安装方法可以相同: / p>

brew install parallel

将所有PNG文件并行转换为JPEG的命令变为:

parallel --dry-run convert {} -resize 600x {.}.jpg ::: *png