Linux Magazine #1 2022: Multiprocessing in Python Listing
- February 16, 2022
- 0
Listing:
import os, sys, time from PIL import Image def verklein(invoer): map, bestand = os.path.split(invoer) uitvoer = 'output/' + bestand try: with Image.open(invoer) as afbeelding_in: if afbeelding_in.width > afbeelding_in.height: afmetingen = (1920, 1285) bijsnijden = (0, 105, 1920, 1185) else: afmetingen = (1285, 1920) bijsnijden = (105, 0, 1185, 1920) afbeelding_verkleind = afbeelding_in.resize(afmetingen) afbeelding_bijgesneden = afbeelding_verkleind.crop(bijsnijden) afbeelding_bijgesneden.save(uitvoer, exif=afbeelding_in.info.get('exif'), quality='web_high') except OSError: print('Fout bij het verwerken van bestand', invoer) bestanden = sys.argv[1:] aantal_bestanden = len(bestanden) start = time.time() for bestand in bestanden: resize(bestand) einde = time.time() tijd = einde - start snelheid = aantal_bestanden / tijd print(f'{aantal_bestanden} bestanden verwerkt in {tijd:.1f} seconden ({snelheid:.1f} bestanden per seconde)')