Hogyan készítsünk egy képtípus-átalakítót a Python hat sorában

A programozói előny egyik előnye, hogy segédeszközöket készíthet az életének javítása érdekében. Ellentétben egy nem programozóval, valószínűleg nem tölt órákat azzal, hogy több Google keresési eredményoldalon ásson, hogy megtaláljon egy olyan eszközt, amelynek elsősorban a termelékenységét kellett volna javítania (az irónia nyer ). Ez valószínűleg erősebbnek érzi magát egy programozási nyelv ismeretében - különösen, ha ez a programozási nyelv ugyanolyan sokoldalú és félelmetes, mint a Python.

A The Zen of Python egyik pontja ezt mondja:

Az egyszerű jobb, mint a bonyolult.

Ezzel a filozófiával a Python használatával rengeteg réstechnikai eszköz fejlesztése olyan tömören elvégezhető, hogy elgondolkodtat bennem, hogy érdemes-e egyáltalán eszköznek nevezni. Néha a szó scriptpontosabb lenne. Akárhogy is, itt állunk egy olyan létrehozására, scriptamely átalakítja a képeket egyik fájlformátumból (képtípusból) a másikba - mindössze 6 sor Python-kódban.

Jogi nyilatkozat: A sorok száma (6) kizárja az üres sorokat és megjegyzéseket

Ebben az oktatóanyagban egy olyan képtípus-átalakítót építünk, amely egy PNG-képet JPG-képpé alakít. Mielőtt a szürkeállomány sejtjei rohannak annak megítélésére, hogy őrült vagyok-e az eszköz elkészítéséhez, hadd mondjam el, hogy ez nem csak egy képre vonatkozik, hanem a mappában lévő összes képre is. Ez mindenképpen több kézi erőfeszítést igényel a kódolás nélkül (tudom, hogy érzi az illatát bash).

Python csomag

Erre a célra a Python csomagot fogjuk használni PIL(amely a Python Képtárat jelenti). Az eredeti PILnem kapott frissítéseket a legújabb Python verzióhoz, ezért néhány jó lélek létrehozott egy barátságos villát Pillow, amely még a> Python 3.0-t is támogatja.

Telepítsd pip3 install Pillow.

Kezdő szkript

Két elsődleges szakasz van ebben a kódban. Az első szakaszból a szükséges csomagokat importáljuk, a másodikból pedig a tényleges művelet történik. A tényleges művelet az alábbiak szerint bontható tovább:

  • .pngIsmételje meg az összes kiterjesztett fájlt - esetünkben - és ismételje meg az alábbiakat:
  • Nyissa meg a képfájlt (képfájlként)
  • A képfájl konvertálása más formátumra ( RGB)
  • Végül mentse a fájlt - az új kiterjesztéssel .jpg

1. és 2. sor:

from PIL import Image # Python Image Library - Image Processing
import glob

Ez a szakasz csak a szükséges csomagokat importálja. PILképfeldolgozáshoz és globaz operációs rendszer adott mappájának fájljain keresztüli iterációhoz.

3–6. Sor:

# based on SO Answer: //stackoverflow.com/a/43258974/5086335
for file in glob.glob("*.png"):
 im = Image.open(file)
 rgb_im = im.convert('RGB')
 rgb_im.save(file.replace("png", "jpg"), quality=95)

USZONY

Tehát ezzel vége az eszközünknek! Ezt a 6 sort .pyfájlként mentheti , majd meghívhatja a számítógépére, ahol képeket szeretne konvertálni.

További fejlődés

Ha tovább kívánja fejleszteni ezt a szkriptet, átalakíthatja ezt az egész szkriptet egy Parancssori interfész eszközzé - ekkor mindezek a részletek tetszenek File Formatés Folder Pathargumentumként megadhatók, így tovább bővítve annak hatékonyságát.

Hivatkozások

  • Az itt használt teljes kód elérhető a github-on
  • Zen of Python
  • Párna