ID.nl logo
Zo kun je programmeren in Python - Deel 5
© Reshift Digital
Zekerheid & gemak

Zo kun je programmeren in Python - Deel 5

In de href="https://computertotaal.nl/artikelen/pc/zo-kun-je-programmeren-in-python-deel-4/" rel="noopener noreferrer" target="_blank">vorige les</a> toonden we allerlei manieren om de uitvoer van tekst op het scherm aan te passen. In deze les zetten we de stap van je scherm naar bestanden: we gaan gegevens uit bestanden lezen en naar bestanden schrijven. Daarnaast leer je reageren op exceptions: foutmeldingen die Python je geeft als er iets misgaat.

Twee lessen geleden gebruikte je de functie input om wat de gebruiker op zijn toetsenbord intypt te registreren. En in de vorige les toonden we je hoe je met de functie print uitvoer op het scherm toont. Maar in- en uitvoer kan ook via bestanden verlopen. Laten we eens kijken hoe dat gaat.

Hier kun je les vier bekijken.

We beperken ons in deze les tot het lezen en schrijven van tekstbestanden. Je kunt ook met binaire bestanden werken, die willekeurige data in een andere vorm dan tekst kunnen bevatten, maar dat is wat meer werk omdat je de data nog moet interpreteren. Voor de rest werkt dit hetzelfde.

Een tekstbestand lezen

We tonen hier in een voorbeeld hoe je op een Linux-machine zoals een Raspberry Pi met Raspberry Pi OS (tot voor kort Raspbian geheten) het bestand met de lijst van gebruikers uitleest. Ook op macOS werkt dit voorbeeld. Gebruik je Windows, maak dan zelf een bestand aan met de inhoud die we in ons voorbeeld tonen en pas de locatie van het te openen bestand aan in je Python-code.

De eenvoudigste manier om een volledig tekstbestand uit te lezen en op het scherm te tonen, heeft maar twee regels nodig:

with open('/etc/passwd', 'rt') as bestand:

print(bestand.read())

In de eerste regel openen we het bestand met de functie open. Het eerste argument is het bestand dat we willen openen. We hebben hier een volledig pad gebruikt: '/etc/passwd'. Als je een bestand wilt lezen dat in dezelfde directory staat als waarin je de Python-interpreter hebt opgestart, hoef je geen volledig pad door te geven: de bestandsnaam volstaat dan. Met het tweede argument 'rt' geven we aan dat we het bestand willen lezen en dat het om een tekstbestand gaat.

De constructie met with is wat Python een ‘context manager’ noemt. In het with-blok heb je toegang tot het object bestand dat het geopende bestand voorstelt. Na het with-blok wordt het bestand automatisch gesloten, zodat je het niet meer kunt lezen. Dit lijkt vanzelfsprekend, maar dat is het niet: ook zonder with kun je bestanden openen, maar als je dan het bestand na gebruik vergeet te sluiten, kan dit tot problemen leiden. Werk dus nooit met bestanden zonder with.

In de tweede regel roepen we de functie read op het object bestand aan. Deze functie geeft de volledige inhoud van het tekstbestand terug als een string, die we dan met print op het scherm tonen. Op een typisch Linux-systeem ziet de uitvoer er als volgt uit (we tonen hier maar enkele regels):

root:x:0:0:root:/root:/bin/bash

daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin

bin:x:2:2:bin:/bin:/usr/sbin/nologin

Enzovoort

Een tekstbestand regel voor regel lezen

Maar wat als we niet het hele bestand in één keer willen inlezen, maar regel voor regel, bijvoorbeeld omdat we willen testen of de regels aan specifieke voorwaarden voldoen? Geen probleem, ook dat is in Python heel eenvoudig. In plaats van de functie read op je bestand toe te passen, ga je dan met een for-lus door de elementen van het bestand. Het tekstbestand dat je van de functie open terugkrijgt, gedraagt zich immers als een lijst met als elementen de opeenvolgende regels in het bestand.

Een string splitsen

Maar als we die regels een voor een gaan inlezen, moeten we er ook iets mee doen. Zoals je ziet, bevat het bestand /etc/passwd op elke regel allerlei informatie over de gebruiker, telkens afgescheiden door een dubbele punt. We willen elk van die gegevens afzonderlijk uitlezen. Dat gaat eenvoudig met de functie split die we op een string kunnen uitvoeren. Bijvoorbeeld:

>>> 'root:x:0:0:root:/root:/bin/bash'.split(':')

['root', 'x', '0', '0', 'root', '/root', '/bin/bash']

Je ziet hier dat we aan de functie split het teken meegeven dat de verschillende componenten van de string afscheidt: ':'. Het resultaat is een lijst met strings die onderdeel uitmaken van onze lange string, zonder de afscheidingstekens ':'.

De opeenvolgende componenten in de regels van het bestand /etc/passwd hebben overigens de volgende betekenis: gebruikersnaam, ongebruikt, ID van de gebruiker, ID van de groep, volledige gebruikersnaam, persoonlijke map van de gebruiker, shell van de gebruiker.

Een lijst uitpakken

Je kunt nu naar de elementen in de gesplitste string verwijzen met een index, bijvoorbeeld:

>>> informatie = 'root:x:0:0:root:/root:/bin/bash'.split(':')

>>> informatie[0]

'root'

>>> informatie[6]

'/bin/bash'

Maar dat is niet heel duidelijk. Zo willen we informatie[0] eigenlijk gebruiker noemen en informatie[6] de naam shell geven. Gelukkig kun je in Python de elementen van een lijst eenvoudig in één keer aan enkele variabelen toekennen. Dat heet unpacking. In ons voorbeeld gaat dat als volgt:

>>> gebruiker, *_, naam, directory, shell = 'root:x:0:0:root:/root:/bin/bash'.split(':')

>>> gebruiker

'root'

>>> _

['x', '0', '0']

>>> naam

'root'

>>> directory

'/root'

>>> shell

'/bin/bash'

De notatie * gebruik je om een willekeurig aantal elementen uit te pakken. Omdat we in dit geval niet in deze elementen geïnteresseerd zijn, kennen we ze toe aan de variabele met de naam _, vandaar dat we bij het uitpakken *_ gebruiken. We konden dit hier ook vervangen door gebruiker, _, _, _, naam, directory, shell.

Gegevens uit een tekstbestand filteren

Dan weet je nu genoeg om de volgende opdracht uit te voeren: lees het bestand met wachtwoorden regel per regel in en als de shell geen '/usr/sbin/nologin' of '/bin/false' is, toon je de gebruikersnaam, volledige gebruikersnaam en persoonlijke map.

De code ziet er als volgt uit:

with open('/etc/passwd', 'rt') as bestand:

for regel in bestand:

gebruiker, *_, naam, directory, shell = regel.strip().split(':')

if shell not in ['/bin/false', '/usr/sbin/nologin']:

print(' {1} ({0}): {2} ({3})'.format(gebruiker, naam, directory, shell))

We openen dus het bestand /etc/passwd als tekstbestand om te lezen. Voor elke regel in het bestand pakken we de verschillende elementen uit in enkele variabelen. We kijken dan of de shell niet gelijk is aan de twee eerdergenoemde shells. Als aan die voorwaarde is voldaan, tonen we de gebruiker, zijn volledige naam, zijn persoonlijke map en zijn shell.

Er is slechts één nieuwigheid in deze code: de functie strip. Die verwijdert witruimte en nieuwe regels aan het begin en het einde van een string. Dat hebben we hier nodig omdat de shell op het einde van de regel staat en er daar dus een teken voor een nieuwe regel komt. Zonder die aanroep van strip zou de vergelijking in de regel erna niet werken.

Naar een tekstbestand schrijven

Naar een tekstbestand schrijven, verloopt op een vergelijkbare manier als een tekstbestand lezen. We beginnen een with-blok waarin we het bestand openen en daarin schrijven we naar het bestand:

with open('bestand.txt', 'wt') as bestand:

bestand.write('Dit is de eerste regel.\n')

bestand.write('Dit is de tweede regel.\n')

bestand.write('Dit is de derde regel.\n')

Op het einde van elke regel moet je zelf een teken voor een nieuwe regel toevoegen: \n. Een andere manier om een regel naar een tekstbestand te schrijven, is met de functie print, die automatisch een nieuwe regel toevoegt:

print('Dit is de eerste regel.', file=bestand)

Merk op dat we het bestand openen met als tweede argument 'wt', waarmee we aangeven dat we naar het bestand willen schrijven. Op deze manier overschrijven we alle al bestaande inhoud van het bestand, dus let hiermee op!

Als je deze situatie wilt vermijden, kun je open aanroepen met de bestandsmodus 'xt'. Als het bestand nog niet bestaat, doet die hetzelfde als 'wt': je kunt naar het bestand schrijven. Maar als het bestand al bestaat, krijg je een foutmelding:

with open('bestand.txt', 'xt') as bestand:

print('Dit is een test.', file=bestand)

with open('bestand.txt', 'xt') as bestand:

print('Dit is nog een test.', file=bestand)

Traceback (most recent call last):

File "<pyshell>", line 1, in <module>

FileExistsError: [Errno 17] File exists: 'bestand.txt'

Een andere interessante bestandsmodus is 'at' (van ‘append’): hiermee voeg je aan het einde van een bestaand tekstbestand regels toe.

Exceptions afhandelen

In het voorbeeld hierboven zou je waarschijnlijk de foutmelding dat het bestand al bestaat op een nettere manier willen afhandelen. Wat we tot nu toe een foutmelding genoemd hebben, heet in Python een exception. Er bestaan verschillende types exceptions en in je Python-code kun je eenvoudig het optreden van exceptions afvangen. Dat gaat als volgt:

try:

with open('bestand.txt', 'xt') as bestand:

print('Dit is nog een test.', file=bestand)

except FileExistsError:

print('FOUT: Het bestand bestaat al.')

De code binnen het try-blok wordt uitgevoerd zoals normaal. Maar als er binnen dit blok een exception voorkomt, gaat het programma door naar het except-blok. Daarin hebben we aangegeven dat we alleen in de exceptions van het type FileExistsError geïnteresseerd zijn. In het geval er zo een voorkomt, tonen we onze eigen foutmelding. Daarna gaat het programma verder na het except-blok.

Als je meerdere types exceptions wilt afvangen, voeg je meerdere except-blokken toe met elk het andere type exception. Als je voor meerdere types exceptions dezelfde code wilt uitvoeren, dan zet je die exceptions tussen haakjes, zoals hier:

except (ZeroDivisionError, ValueError):

En als je op alle mogelijke exceptions hetzelfde wilt reageren, voeg je gewoon een except-blok zonder de naam van een exception toe, al is dat niet zo vaak zinvol.

Samenvatting

In deze les hebben we geleerd hoe we tekstbestanden kunnen inlezen en strings in onderdelen kunnen splitsen. Ook in de andere richting kun je nu met tekstbestanden werken: je kunt willekeurige tekst naar een bestand schrijven. En doordat je hebt geleerd hoe je exceptions kunt afvangen, hoeven de gebruikers van je programma geen cryptische foutmeldingen van Python meer te krijgen. Omdat je met deze kennis al complexere Python-programma’s kunt schrijven, leer je in de volgende les hoe je je programma meer kunt structureren in functies en modules.

Opdracht

Vraag de gebruiker om een regel zoals root:x:0:0:root:/root:/bin/bash voor gebruik in een wachtwoordbestand op te geven. Schrijf de belangrijkste elementen van de regel naar een afzonderlijke regel in een bestand, in de vorm: Gebruiker: root Naam: root Directory: /root Shell: /bin/bash Zorg dat je programma een heldere foutmelding geeft als de regel niet de correcte vorm voor een wachtwoordbestand heeft.

Uitwerking

regel = input('Voer een regel voor het wachtwoordbestand in: ') try: gebruiker, _, _, _, naam, directory, shell = regel.strip().split(':') with open('wachtwoordbestand', 'wt') as bestand: print('Gebruiker: {}'.format(gebruiker), file=bestand) print('Naam: {}'.format(naam), file=bestand) print('Directory: {}'.format(directory), file=bestand) print('Shell: {}'.format(shell), file=bestand) except ValueError: print('Voer de regel in de volgende vorm in:') print('gebruiker:x:0:0:naam:directory:shell') Dit is een rechtstreekse combinatie van alles wat je in deze les geleerd hebt. Let op: we hebben hier wel gebruiker, _, _, _, naam, directory, shell nodig en niet de kortere versie gebruiker, *_, naam, directory, shell. Met die laatste regel garanderen we immers niet dat de regel uit exact zeven elementen bestaat.

Cheatsheet

exception: een foutmelding in Python pad: de locatie van een bestand, met alle bovenliggende directorynamen erbij

▼ Volgende artikel
Review Baristina Plus Stainless Steel – Foolproof design, smakelijke koffie
© Versuni
Huis

Review Baristina Plus Stainless Steel – Foolproof design, smakelijke koffie

Philips introduceert de Baristina Plus Stainless Steel, een semi-automatische koffiemachine met een roestvrijstalen design en iced coffee-functie. Dit derde apparaat in de Baristina-lijn combineert een robuuste uitstraling met veel gebruiksgemak. Kan er echt niks verkeerd gaan? ID.nl testte het uit.

Uitstekend
Conclusie

Deze machine blinkt uit in gebruiksgemak en het robuuste design zal zeker een grote groep koffiedrinkers aanspreken. Het reservoir bevat genoeg water om de dag door te komen, en er kan eigenlijk niets misgaan tijdens het gebruik. De prijs is stevig vergeleken met de eerder uitgebrachte Baristina Bean Swap, die geen optie heeft voor ice koffie maar wel weer de keuze biedt uit twee soorten koffiebonen. Ben je erg prijsbewust en wil je wel de genoemde functies voor espresso, lungo en ice koffie, maar geef je niks om verse bonen, dan is de L'OR Barista Absolu zeker een optie: die werkt met cups maar is in functionaliteit identiek. Kies je voor je eigen bonen, stijl en gebruiksgemak, dat is de Baristina Plus Stainless Steel een goede keuze.

Plus- en minpunten
  • Stijlvolle uitstraling
  • Gebruiksgemak
  • Meerdere opties voor volume/type koffie
  • Geen handleiding meegeleverd
  • Gevoelig voor vingerafdrukken
  • Prijzig

Ontwerp & specificaties

De Baristina Plus Stainless Steel is een matte, zilverkleurige koffiemachine waarmee je espresso, lungo en cold brew kunt maken van je eigen gewenste soort koffiebonen. In het apparaat zit een grinder die de bonen maalt, de gemalen koffie komt in het portafilter terecht en daarmee zet de Baristina een kop koffie in de gewenste sterkte. De machine is met zijn 5,8 kilo makkelijk te verplaatsen en niet overdreven groot: 35 centimeter hoog, 38 centimeter diep en 15 centimeter breed. De buitenzijde is uitgevoerd in RVS. Smaakvol, maar wel gevoelig voor vingerafdrukken (zoals alle apparaten van roestvrij staal).

©Versuni

Plaats in de Baristina-lijn & techniek

Deze machine is de derde variant in de Baristina-lijn. De eerste, de Baristina, bood in vergelijking met dit apparaat geen ice koffie en was eenvoudiger uitgevoerd. De tweede, de Baristina met Bean swap, bood de gebruikers de keuze om bij elke bak koffie te kiezen tussen twee soorten bonen, of een mix van beide. Dit derde, nieuwe apparaat is een premium-machine die naast een luxe uitstraling de kwaliteit van versgemalen koffie combineert met gebruiksgemak. Als extraatje vergeleken met het instapmodel is er dus de ice coffee-optie. Voor het koffiezetten zet de machine 16 bar pompdruk in voor optimale extractie.

Uitpakken & installatie

De machine zit deugdelijk verpakt in een grote doos met kartonnen bescherming. Er zit geen handleiding bij, alleen een sticker met iconen die aangeven wat er ongeveer moet gebeuren. We vinden dat echt een minpunt; wie nieuw is 'in de koffie' heeft toch wat meer informatie nodig over wat de machine precies kan.

Monteren is een groot woord voor wat je zelf nog moet doen om je eerste kop koffie te zetten. Je pakt het portafilter uit, spoelt het goed om en vult het waterreservoir van 1,2 liter. Dat kan door het reservoir los te halen uit de machine en onder de kraan te vullen. Handiger is het om het klepje bovenaan even open te doen en dan met een kan of maatbeker het water aan te vullen. Bovenin zit een reservoir voor koffiebonen. Ook dit open je met een klepje en vul je tot de rand. Dat is alles!

Bediening & functies

Dit apparaat is duidelijk ontwikkeld voor de koffieliefhebber die houdt van gemak en kwaliteit. De kwaliteit heb je natuurlijk deels zelf in de hand door het type koffiebonen dat je gebruikt. Het gemak uit zich in de bediening van de machine. Aan de bovenzijde zitten verschillende knoppen: een voor espresso, een voor lungo, een voor koffie waar je een ijskoffiedrank mee wilt maken, en een knop voor extra sterke koffie, voor als de standaardinstelling niet voldoende voor je is. Voor de ice coffee wordt de koffie eerst warm gebouwen waarna het doorstroomproces traag verloopt zodat de koffie langzaam afkoelt tijdens het zetten.

De instelling van de molen is niet aanpasbaar, het volume van de koffie in het kopje wel. Hier uit zich het gemis aan een handleiding, deze functie ontdekten we pas toen we op het YouTube-kanaal van Philips wat filmpjes bekeken over de bediening en functies. HIER vind je de betreffende video.

©Versuni

Workflow: van boon tot kop

Je duwt het portafilter in de gleuf links tot deze vastklikt. Dan kies je de gewenste drank, en beweegt (swipet) het portafilter helemaal naar rechts, waar de grinder zit. Het filter zit dan vast en de machine maalt de koffiebonen. Dat maakt uiteraard geluid, vergelijkbaar met andere koffiezetapparaten. Het filter spring terug naar de beginpositie, en de machine zet de gewenste hoeveelheid koffie. Stopt de keuzeknop met knipperen, dan is je 'bakkie' klaar. Het portafilter kun je dan loshalen, ondersteboven boven de vuilnisbak houden en met een druk op de knop de koffiedrab eruit werpen. Dat is alles.

Hier zie je in een Duitstalige video precies hoe dit werkt:

Watch on YouTube

Praktijktest

Koffiemachines moeten natuurlijk getest worden en het liefst door veel verschillende mensen. Ons testexemplaar beleefde de vuurdoop tijdens een drukke verjaardagsvisite, waarbij alle koffiedrinkende bezoekers een kopje Baristina kregen. De vraag was of de machine snel genoeg zou zijn om mensen niet nodeloos lang te laten wachten, en of het geluid van het malen de gesprekken niet zou overstemmen. Voor beide aspecten slaagde de machine met vlag en wimpel. Iedereen was erg te spreken over de smaak van de koffie. Het waterreservoir van 1,2 liter is natuurlijk na enige tijd leeg, dus moet tijdens zulke bijeenkomsten tussentijds wel worden bijgevuld.

Koffiebonen bewaar je niet in de zak uit de supermarkt

Houd ze lang vers in een speciaal bewaarblik

Aandachtspunt

Wel dook er een klein aandachtspunt op. Na enige tijd kwam er nogal waterige koffie met een raar kleurtje uit de machine en klonk het malen ook een beetje gek. De koffiebonen bleken op te zijn. Daar komt verder geen signaal of melding van, maar is iets om in de gaten te houden. Het deksel van het koffiebonen-reservoir is semi-transparant, dus normaliter zou je dat wellicht snel zien. Echter, de machine wordt niet geleverd met een handleiding, maar... met een paarse sticker precies op die plek! Als je die er niet afhaalt, zie je dus niet hoe het gesteld is met de voorraad koffiebonen.

Onderhoud & schoonmaak

De machine heeft verder weinig nodig aan energie van de gebruiker. Het lekbakje is afneembaar en kun je periodiek schoonmaken. Als je zorgt voor voldoende water en bonen en het portafilter elke keer leegmaakt na het zetten van een kopje koffie, kun je een tijd vooruit. Overigens: als je vergeet de drab weg te gooien en aan een nieuwe bak koffie wilt beginnen, kun je het portafilter niet naar de grinder bewegen, dan zit 'ie vast. Je kunt dus nooit verse koffie gemaald krijgen over de drab van een eerdere sessie.

©Versuni

Eindoordeel & alternatieven

Deze machine blinkt uit in gebruiksgemak en het robuuste design zal zeker een grote groep koffiedrinkers aanspreken. Het reservoir bevat genoeg water om de dag door te komen, en er kan eigenlijk niets misgaan tijdens het gebruik. De prijs is stevig vergeleken met de eerder uitgebrachte Baristina Bean Swap, die geen optie heeft voor ice koffie, maar wel weer de keuze biedt uit twee soorten koffiebonen. Ben je erg prijsbewust en wil je wel de genoemde functies voor espresso, lungo en ice koffie, maar geef je niks om verse bonen, dan is de L'OR Barista Absolu zeker een optie. Die werkt met cups maar is in functionaliteit identiek. Kies je voor je eigen bonen, stijl en gebruiksgemak, dat is de Baristina Plus Stainless Steel een goede keuze.

☕ Bekijk alle koffieapparaten van Philips op Kieskeurig.nl

▼ Volgende artikel
Stroomvreters: deze apparaten in huis verbruiken meer energie dan je denkt
© ID.nl
Energie

Stroomvreters: deze apparaten in huis verbruiken meer energie dan je denkt

Met de huidige energieprijzen letten we allemaal extra op ons stroomverbruik. Zuinig aandoen klinkt logisch, maar is best lastig als je niet weet waar de echte energieslurpers zitten. Soms zitten de kosten in een onverwachte hoek. We zetten vijf apparaten op een rij die meer stroom verbruiken dan je waarschijnlijk denkt.

Dit artikel in het kort

Na het lezen van dit artikel zie je precies welke apparaten in huis ongemerkt meer kosten dan je dacht en hoe energielabels je kunnen helpen om de kosten goed (of in ieder geval beter) in te schatten.

Lees ook: Toch nog verdienen aan je zonnepanelen? Zo doe je dat!

Altijd doen: energielabel checken of instellingen aanpassen

Als je iets in huis moet vervangen, kijk in de winkel dan altijd eerst naar het energielabel. Dat geeft een duidelijk beeld van het stroomverbruik. Blijf je liever nog even bij je huidige toestel, dan helpt het om zuiniger met de instellingen om te gaan. Denk aan het aanpassen van de standby-stand of het apparaat alleen gebruiken op momenten waarop de stroomprijs lager ligt. Dat levert al snel tientallen euro's voordeel op.

Het energielabel laat in één oogopslag zien hoe energiezuinig een apparaat is. Vanaf maart 2021 zijn de labels voor een groot aantal apparaten aangepast. Voor de meeste apparaten (zoals wasmachines, vaatwassers, koelkasten, televisies en wasdrogers) loopt de nieuwe schaal van A (het zuinigst) tot G (het minst zuinig). Bij deze groep is A+++ dus verleden tijd; een label C of D is hier vaak al erg zuinig.

Let op: Voor sommige productgroepen, zoals ovens, afzuigkappen en airco's, wordt het oude label nog wel gebruikt. Daar is A+++ nog steeds het hoogst haalbare. Kijk dus altijd goed naar de letter én de kleur op de kaart.

Op energielabel.nl kun je per apparaat opzoeken wat hoe de energielabels precies lopen.

©EPREL

1. Kokendwaterkraan: 133 euro per jaar

Meteen kokend water uit de kraan: wie eenmaal een Quooker heeft, wil niet meer zonder. Maar realiseer je wel dat zo'n kraan het water doorlopend op temperatuur moet houden. En dat zie je terug op je energierekening. Een voorbeeld: een gezin van drie personen gebruikt gemiddeld zo'n 10 liter kokend water per dag via een Quooker. Om dit water te verwarmen, is jaarlijks ongeveer 423 kWh aan energie nodig (bron: ANWB Energie) . Daarnaast kost het op temperatuur houden van het water nog eens 87,5 kWh per jaar. Dit komt neer op een totaal energieverbruik van 511 kWh per jaar. Stel dat je een energiecontract hebt waarbij je gemiddeld 0,26 euro per kWh betaalt, dan kost de kraan je 133 euro per jaar. Je moet dus zelf de afweging maken of je het extra comfort vindt opwegen tegen de extra kosten.

Waar zijn deze bedragen op gebaseerd?

Bij het berekenen van de kosten zijn we uitgegaan van een gemiddelde stroomprijs van 0,26 euro per kWh. Dit is het bedrag dat de ANWB noemt als meest actuele stroomprijs (november 2025). Je kunt de berekeningen makkelijk aanpassen door het tarief in te vullen dat je zelf betaalt.

2. Wifi-versterker: 23 euro per jaar

Overal goede wifi in huis: we kunnen niet meer zonder. Zeker wanneer je veel thuis werkt, graag streamt of kids hebt die niet achter hun gameconsole zijn weg te slaan, is een must. Grote kans dus dat je een of meerdere wifi-versterkers of repeaters gebruikt. Omdat die 24/7 hun werk doen, kost dat meer dan je misschien denkt. De gemiddelde wifi-versterker – je hebt ze met verschillende wattages – verbruikt jaarlijks 88 kWh. Dat kost je per jaar dus ongeveer 23 euro per repeater.

Verbruik uitrekenen

Hoe weet je nu hoeveel energie een apparaat verbruikt? Dat kun je zelf uitrekenen als je het vermogen in Watt (W) weet. Dit wattage vind je meestal in de specificaties of achterop het apparaat onder het kopje Vermogen. Bij vergelijkingssites zoals Kieskeurig.nl vind je die informatie ook terug:

Omdat energie op je rekening in kilowattuur (kWh) wordt afgerekend, moet je Watt eerst omrekenen: 1 kilowatt (kW) = 1000 Watt (W).

Bijvoorbeeld: Een stofzuiger van 900 Watt is: 900 ÷ 1000 = 0,9 kW.

Om de kosten te berekenen, gebruik je deze formule: Energieverbruik (kWh) = Aantal uur in gebruik (h) x Vermogen (kW)

Rekenvoorbeeld:
Gebruik je de stofzuiger van 0,9 kW elke week 3 uur? Dan is het verbruik: 0,9 x 3 = 2,7 kWh per week. De kosten hiervan zijn dan 2,7 kWh x 0,26 euro = = 0,702 per week. Op jaarbasis is dat dus ruim 36 euro per jaar.

Let op:
Deze berekening werkt alleen goed voor apparaten die constant vermogen vragen zolang ze ingeschakeld zijn. Denk aan een stofzuiger, waterkoker of straalkachel: die staan 'aan' en verbruiken dan continu stroom. Voor apparaten met een wisselend programma of thermostaat (zoals een wasmachine, vaatwasser of koelkast) werkt deze som niet, omdat ze niet constant op vol vermogen draaien. Daarvoor kun je beter naar het kWh-verbruik op het energielabel kijken.

3. Televisie: afhankelijk van grootte en schermresolutie

Niet verrassend: het stroomverbruik van een televisie is afhankelijk van het formaat van het scherm. Een 65inch-televisie verbruikt bijvoorbeeld twee keer zo veel stroom als een 43inch-exemplaar met hetzelfde energielabel. Vooral de resolutie van het scherm maakt veel uit voor het verbruik. Grotere beeldschermen hebben een hogere resolutie om een scherp beeld te krijgen, zoals een 4K- of zelfs 8K-resolutie. 8K-televisies verbruiken flink meer energie dan een 4K-televisie die net zo groot is. Bij televisies wordt daarom ook vaak het stroomverbruik apart vermeld voor zowel de SDR- als de HDR-video. In dit geval staat SDR voor Standard Dynamic Range met een resolutie van 1080p en HDR voor 4K-content.

Doordat er hier zo veel variabelen een rol spelen, kunnen we geen richtbedrag berekenen. Met deze gegevens en de uitleg over verbruik uitrekenen in het kader hierboven kun je dit het beste zelf doen.
Lees ook: Dit zijn de 11 best geteste televisies van 2025

Ook de beeldkwaliteit bepaalt hoeveel energie wordt verbruikt. Bij SDR-gebruik (1080p) krijgt deze tv energielabel E, terwijl de HDR-stand goed is voor energielabel G, een stuk minder zuinig dus.

4. Extra koelkast - tussen de 30 en 36 euro

Wanneer ze een nieuwe koelkast kopen, zetten veel mensen hun oude koelkast in de schuur of garage. Handig, maar houd er rekening mee dat oude koelkasten wel een stuk minder zuinig zijn dan nieuwe. Stel dat je een simpele, eendeurs oude koelkast als extra koelruimte gaat gebruiken. Grote kans dat zo'n koelkast dan energielabel D, E of zelfs F heeft. Daarvan is het gemiddelde jaarverbruik respectievelijk 113, 130 en 139 kWh. Dat kost je op jaarbasis al snel tussen de 30 en 36 euro op jaarbasis extra.

Het kan dus slimmer zijn om in plaats daarvan één grotere koelkast in de keuken neer te zetten. Neem een energiezuinig model als de Samsung RB38C607AB1: die heeft een koelinhoud van 273 liter en een vriesinhoud van 114. Verbruik op jaarbasis? 108 kWh, dus ongeveer 28 euro. Dat is dus lager dan die simpele, oude eendeurs koelkasten die we hierboven hebben aangehaald!

Weet je niet zeker of je aan één koelkast genoeg hebt? Veel mensen leggen uit gewoonte alles in de koelkast, maar dat is zonde van de ruimte én de energie. Sommige producten horen er zelfs liever niet in: tomaten, komkommers, avocado's en aubergines verliezen door de kou hun smaak. Daarnaast zijn harde groenten zoals pompoen, knolselderij en winterpeen op een koele plek in huis wekenlang houdbaar zonder koeling. En waarom zou je zes flessen frisdrank tegelijk koelen? Er pas een nieuwe fles in zetten wanneer de oude bijna leeg is werkt net zo goed.

Wil je de tweede koelkast toch houden, zet hem dan alleen aan wanneer je hem echt nodig hebt, bijvoorbeeld wanneer je je hele familie hebt uitgenodigd voor het kerstdiner of wanneer je je verjaardag viert.

5. Consoles en gaming-pc's - tussen de 45 en 365 euro

Ben je een fervent gamer of heb je kinderen die dat zijn? Afhankelijk van het apparaat waarmee er gegamed wordt, kunnen de kosten flink oplopen. Gebeurt dat op een Xbox of PlayStation, dan verbruikt deze tussen de 150 en 160 watt per uur. Game je 3 uur per dag, dan zit je per jaar zo aan de 45 euro.

Maar pas écht in de papieren loopt het met een game-pc: het verbruik zo'n machine komt gemiddeld per jaar – inclusief monitor – uit op ongeveer 1.400 kWh. Je hebt het dan, bij een tarief van 0,26 euro/kWh, over zo'n 365 euro. En dat staat gelijk aan het energieverbruik van drie koelkasten. Wil je echt besparen, dan is een gameconsole dus de betere keuze. En door hem echt uit te zetten in plaats van op stand-by wanneer je hem niet gebruikt, ben je nog voordeliger uit.