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)')




