ID.nl logo
Zo kun je programmeren in Python - Deel 6
© Reshift Digital
Huis

Zo kun je programmeren in Python - Deel 6

In de href="https://computertotaal.nl/artikelen/pc/zo-kun-je-programmeren-in-python-deel-5/" rel="noopener noreferrer" target="_blank">vorige les</a> leerde je met bestanden werken en zag je hoe je je programma kunt laten reageren op exceptions. Zo beginnen je programma’s ondertussen al vrij complex te worden. Tijd dus om wat structuur in je programma’s te brengen, en dat doen we in deze les met functies en modules. We bekijken ook enkele standaardmodules van Python.

Wil je meer leren over programmeren? Bekijk dan onze Cursus: programmeren in Phyton (boek & online cursus).

Tot nu toe waren onze Python-programma’s vrij kort, maar je hebt ondertussen al genoeg Python-bagage om zelf al eens aan de slag te gaan en je eigen ideeën uit te werken in programma’s. En dan merk je al snel dat je programma lang en ondoorzichtig wordt. Gelukkig kent Python verschillende manieren om wat meer structuur in je programma’s te brengen.

De eerste manier ben je al tegengekomen: functies. We hebben immers in de vorige lessen al diverse standaardfuncties van Python gebruikt, zoals len, print, input, format, split, open, read en write. Een functie is een afzonderlijk stukje code dat een afgebakende taak uitvoert die je meerdere keren zou willen uitvoeren op verschillende gegevens. Zodra je in je programma dus merkt dat je een stukje code telkens aan het herhalen bent, zou je eerste gedachte moeten zijn: ik maak er een functie van!

Een functie definiëren

We tonen je als voorbeeld hoe je een functie maakt om te berekenen of een woord een palindroom is. Een palindroom of spiegelwoord is een woord dat van achteren naar voren gelezen hetzelfde is als van voor naar achter. Een eenvoudige functie om te bepalen of een woord een palindroom is, ziet er als volgt uit:

def is_palindroom(woord):letters = list(woord)palindroom = Truewhile len(letters) > 0 and palindroom:if letters[0] != letters[-1]:palindroom = Falseelse:letters.pop(0)if len(letters) > 0:letters.pop()return palindroom

Dit is niet de efficiëntste manier om te bepalen of een woord een palindroom is, maar wel een die goed te begrijpen is. Je ziet dat er in de definitie van deze functie eigenlijk maar twee zaken nieuw zijn: de eerste en de laatste regel. In de eerste regel geven we met def is_palindroom(woord): aan dat we een functie definiëren met de naam is_palindroom en dat die één parameter meekrijgt, die we woord noemen. Dan komt onze hele berekening, die je met al je kennis uit de vorige lessen na een kleine studie zou moeten begrijpen, en op het einde geven we met return palindroom aan dat we de waarde die na onze berekening in de variabele palindroom zit teruggeven.

Een functie aanroepen

Breek je hoofd nog even niet over de inhoud van de functie. Typ de code in Thonny in en sla het bestand op onder de naam palindroom.py. Voer het dan uit met een druk op F5. Er gebeurt niets, maar de functie is nu gedefinieerd. In de terminal onderaan Thonny kun je nu de functie aanroepen. Enkele voorbeelden:

>>> is_palindroom('nepalapen')True>>> is_palindroom('napalm')False>>> is_palindroom('koortsmeetsysteemstrook')True

Denk nu eens even na over wat er gebeurt als je is_palindroom('nepalapen') aanroept. De functie is_palindroom wordt dan uitgevoerd en aan de variabele woord van de functie wordt de string 'nepalapen' toegekend. Dan gebeurt die hele berekening, en geeft de functie als resultaat True of False. En voor elke andere string die je aan de functie doorgeeft, gebeurt de berekening op dezelfde manier. Op deze manier heb je de berekening ingekapseld in een afzonderlijk stukje code, de functie, die herbruikbaar is.

Overigens zijn door die inkapseling de parameter woord net zoals de variabelen letters en palindroom alleen binnen het blok van de functie gedefinieerd: het zijn wat we noemen lokale variabelen.

Recursieve functies

In onze functie is_palindroom gaan we met een while-lus alle letters in het woord af. Een andere manier om de functie te definiëren is met recursie: in de functie roepen we de functie opnieuw aan, maar op een deel van het woord. Dat ziet er als volgt uit:

def is_palindroom2(woord):if len(woord) < 2:return Trueif woord[0] != woord[-1]:return Falsereturn is_palindroom2(woord[1:-1])

Voeg deze functie in Thonny gewoon aan hetzelfde bestand toe als is_palindroom, sla het bestand op en druk op F5 om het uit te voeren. Je kunt nu deze functie is_palindroom2 uitproberen op enkele woorden. Het resultaat moet telkens hetzelfde zijn als is_palindroom op hetzelfde woord.

De functie is_palindroom2 is een mooi voorbeeld van een recursieve functie. We bekijken eerst of het woord minder dan twee letters bevat. In dat geval (het woord is leeg of heeft één letter) is het altijd een palindroom en daarom geven we in dat geval True terug. Daarna controleren we of de eerste letter verschilt van de laatste letter van het woord. Verschillen die, dan is het woord al zeker geen palindroom en geven we dus False terug.

Dan blijft er nog één geval over: de eerste en laatste letter van het woord zijn gelijk, maar van de andere letters weten we nog niets. Wat doen we dan? We roepen de functie is_palindroom2 opnieuw op, maar op die andere letters. Die verkrijgen we door de slice (zie les 2) [1:-1] op het woord toe te passen, die het woord zonder de eerste en laatste letter teruggeeft.

Belangrijk bij recursieve functies

Als je een recursieve functie schrijft, is het belangrijk dat je de functie telkens oproept op een kleinere invoer dan waarmee je begon, zodat je uiteindelijk bij een basistest uitkomt, zoals in ons geval if len(woord) < 2: en if woord[0] != woord[-1]:. In beide gevallen roepen we de functie is_palindroom2 niet meer aan, maar geven we een waarde True of False terug. Doordat we in het derde geval altijd de eerste en de laatste letter van het woord verwijderen voor we de functie opnieuw oproepen, verzekeren we dat de functie uiteindelijk altijd bij een van de basistests uitkomt.

Met modules werken

Zonder dat je het weet, heb je nu al je eerste module geschreven. Elk Python-bestand waarin je code schrijft, is immers een module voor Python. Maak nu een nieuw Python-bestand aan in Thonny en noem het bijvoorbeeld test_palindroom.py. Als je in dit bestand de code uit palindroom.py wilt gebruiken, moet je de module palindroom importeren. Dat gaat als volgt:

import palindroom

print(palindroom.is_palindroom("nepalapen"))

Met import palindroom zeggen we aan de Python-interpreter dat we toegang willen tot alle code in de module palindroom. Python zoekt dan naar bestanden met de naam palindroom.py in zijn zoekpad. Omdat de code test_palindroom.py in dezelfde directory staat als palindroom.py, vindt Python de module en zijn de functies is_palindroom en is_palindroom2 daarin beschikbaar onder de namen palindroom.is_palindroom en palindroom.is_palindroom2.

In dit geval is het niet zo handig dat je voor elke functie uit de module palindroom de aanduiding palindroom. dient te zetten, omdat dit nogal lang is. We kunnen de naam van een module die we gebruiken gelukkig ook afkorten:

import palindroom as pal

print(pal.is_palindroom("nepalapen"))

Het is ook mogelijk om het voorvoegsel voor de module volledig weg te laten door de specifieke functies die we willen gebruiken te importeren:

from palindroom import is_palindroom

print(is_palindroom("nepalapen"))

Dat kan ook met meerdere functies:

from palindroom import is_palindroom, is_palindroom2

print(is_palindroom("nepalapen"))

print(is_palindroom2("parterretrap"))

Zodra je Python-code wat langer wordt, is het aan te raden om ze in modules op te splitsen. Een goede vuistregel is dat elke module code voor één specifiek doel moet bevatten. In ons geval bevat de module bijvoorbeeld alle mogelijke code die met palindromen te maken heeft. Als we daarnaast ook code voor anagrammen zouden willen toevoegen, doe je dat het best in een afzonderlijke module, anagram.py.

Systeeminformatie

Python zelf bestaat ook uit een heleboel standaardmodules waarin allerlei handige functies zitten. Zo is er de module platform om informatie over het platform waarop je Python-programma draait op te vragen:

>>> import platform>>> platform.architecture()('64bit', 'ELF')>>> platform.platform()'Linux-4.15.0-33-generic-x86_64-with-Ubuntu-18.04-bionic'>>> platform.processor()'x86_64'>>> platform.python_version()'3.6.7'>>> platform.system()'Linux'

Verder bevat de standaardmodule os allerlei functies die met het besturingssysteem te maken hebben. Zo kun je een lijst opvragen van de bestanden in de huidige directory:

>>> import os>>> os.listdir()['palindroom.py', 'test_palindroom.py']

Werken met getallen

Als je met getallen wilt werken, komt de module math goed van pas. Die bevat allerlei functies voor berekeningen, zoals je in het volgende voorbeeld ziet:

>>> import math>>> math.floor(4.3)4>>> math.ceil(4.3)5>>> math.gcd(28, 12)4>>> math.sqrt(2)1.4142135623730951>>> math.e2.718281828459045>>> math.pi3.141592653589793>>> math.sin(2*math.pi)-2.4492935982947064e-16

In de laatste regel zie je al een nadeel van berekeningen met floats: door afrondingsfouten geeft de berekening van de sinus van 2 keer pi een heel klein getal (-2 en nog iets maal 10 tot de -16de macht) in plaats van het juiste resultaat 0.

Een andere nuttige module is random, waarmee je willekeurige getallen kunt genereren:

>>> import random>>> random.randint(1, 10)7>>> random.choice(['lies', 'jan', 'kees', 'mireille', 'koen', 'rob'])'rob'>>> namen = ['lies', 'jan', 'kees', 'mireille', 'koen', 'rob']>>> random.shuffle(namen)>>> namen['jan', 'rob', 'koen', 'mireille', 'lies', 'kees']

Zo geeft de functie randint(a, b) een willekeurig geheel getal tussen a en b terug (a en b inbegrepen). Met choice kies je een willekeurig element uit een lijst. En met shuffle schud je een lijst willekeurig door elkaar.

Samenvatting

In deze les heb je geleerd om je Python-code wat meer te structureren. Enerzijds heb je berekeningen die je vaak herhaalt in functies leren opnemen. Anderzijds heb je geleerd hoe je functies die bij elkaar horen kunt afscheiden in een afzonderlijke module. We hebben tot slot ook met enkele standaardmodules van Python kennisgemaakt. In de volgende les gaan we op de structuur van datatypes in: we tonen je hoe je zelf eigen datatypes kunt definiëren in de vorm van klassen.

Opdracht

Open de module palindroom.py in Thonny en voer ze uit met een druk op F5. Voer in de terminal onderaan de volgende opdrachten in: *>>> is_palindroom('parterretrap')True>>> woord**Traceback (most recent call last):**File "

Uitwerking

De parameter woord in de functie is een lokale variabele: die is alleen binnen het blok van de functie gedefinieerd. Als je de functie met het argument 'parterretrap' oproept, wordt die string in de functie aan de lokale variabele woord toegekend, maar na het uitvoeren van de functie is die variabele niet meer beschikbaar en geeft Python dus met een NameError aan dat het de naam woord niet kent.

Cheatsheet

Functie: een afzonderlijk stukje code dat je meerdere keren uitvoert. Importeren: aangeven dat je een module wilt gebruiken. Lokale variabele: een variabele die alleen binnen een specifiek blok (bijvoorbeeld van een functie) gedefinieerd is. Module: een afzonderlijk bestand met Python-code. Recursieve functie: een functie die zichzelf aanroept.

▼ Volgende artikel
Schijfopruiming: zo vind en verwijder je overbodige bestanden
© MG | ID.nl
Huis

Schijfopruiming: zo vind en verwijder je overbodige bestanden

Zelfs een royaal bemeten schijf raakt ooit weer vol met bestanden, van freeware en tijdelijke systeembestanden tot foto’s en vergeten downloads. Dat is niet alleen hinderlijk voor jezelf, maar kan ook problemen geven. Hoog tijd dus om schijfruimte vrij te maken en je ruimte voortaan ook beter te beheren.

Wanneer de vrije schijfruimte tot minder dan circa 15 procent van de totale capaciteit zakt, is het hoog tijd om ruimte vrij te maken. Windows heeft namelijk ruimte nodig voor tijdelijke bestanden, updates, caches, herstelpunten en het wisselbestand (pagefile). Een nagenoeg volle schijf dwingt het systeem om voortdurend data te herschikken, wat merkbare vertraging veroorzaakt. Bovendien kan Windows bij ruimtegebrek updates of systeembescherming pauzeren, en ook de (indexering van de) ingebouwde zoekfunctie kan trager werken. Voor ssd’s komt daar nog bij dat de controller eerst oude datablokken moet wissen voordat hij nieuwe kan schrijven, wat bij een nagenoeg volle schijf extra vertraging geeft.

Maar ook met meer dan 15 procent vrije ruimte blijft schijfopruiming zinvol, al zal dit dan weinig invloed hebben op de (systeem)prestaties. Een opgeruimde schijf zonder oude downloads, dubbele bestanden en ongebruikte apps biedt namelijk meer overzicht, je vindt sneller wat je zoekt en ook je back-ups worden kleiner en sneller. Bovendien kunnen oude documenten, browserdata en caches gevoelige informatie bevatten, waardoor opruimen ook je privacy ten goede komt.

Bij minder dan 20 procent vrije schijfruimte kan Windows in ademnood raken.

Opslaganalyse

Voor je begint met opruimen, controleer je eerst hoeveel vrije schijfruimte je nog hebt en welke bestanden de meeste ruimte gebruiken. Klik in Verkenner in het navigatievenster op Deze pc om meteen te zien hoeveel ruimte er op elk station nog vrij is.

Wil je weten welke bestandscategorieën de meeste ruimte innemen, open dan Instellingen in Windows en kies Systeem / Opslag. Bovenaan zie je hoeveel ruimte op je systeempartitie in gebruik is. Daaronder toont Windows verschillende categorieën, zoals Geïnstalleerde apps, Tijdelijke bestanden en E-mailberichten, telkens met de hoeveelheid ingenomen ruimte. Klik op Meer categorieën weergeven voor alle categorieën. Let op: bij categorieën als Documenten, Afbeeldingen, Video’s en Muziek controleert Windows enkel de standaardmappen, zoals C:\Users\<accountnaam>\Afbeeldingen. Klik op een categorie voor meer details en voor mogelijke verwijderacties.

Windows toont je de gebruikte schijfruimte per datacategorie.

Analyse met TreeSize Free

De ingebouwde opslaganalyse beperkt zich tot de systeemschijf, terwijl je vaak ook het ruimteverbruik op andere partities of schijven wilt zien. Dit kan met een tool als TreeSize Free (www.kwikr.nl/treesize2). Start de app als administrator, open het tabblad Start en kies bij Selecteer map het station of de map. Na de scan verschijnen de (sub)mappen en bestanden in het bovenste venster, met onder meer hun grootte, aantal mappen en bestanden, en het opslagpercentage binnen de bovenliggende map. Je kunt op elke kolomkop klikken om te sorteren. Via de knoppenbalk bepaal je wat in het onderste deelvenster wordt getoond. Klik bijvoorbeeld op Grootte om elke (sub)map weer te geven als een rechthoek waarvan het oppervlak overeenkomt met de gebruikte schijfruimte, zodat je meteen ziet welke mappen het grootst zijn. Je kunt ook kiezen voor Aantal bestanden of Percentage. De Personal-versie (gratis proefversie van 14 dagen, daarna 27 euro) biedt ten opzichte van de Free-versie extra functies, zoals wizards om snel de grootste, oudste of dubbele bestanden te vinden.

Met TreeSize vind je snel welke mappen veel ruimte innemen.

Schijfopruiming

Met een tool als TreeSize kun je makkelijker overtollige opslagverbruikers vinden en ze verplaatsen of verwijderen, maar dit handmatig doen kost tijd. Het kan ook ‘semiautomatisch’ via de ingebouwde tool Schijfopruiming, die Microsoft helaas steeds minder prominent maakt. Typ schijf in het startmenu, open Schijfopruiming en kies het station dat je wilt opruimen. Na bevestiging met OK verschijnt een lijst met items die je kunt selecteren en verwijderen via OK / Bestanden verwijderen, zoals Windows Update opschonen, Tijdelijke internetbestanden en Prullenbak. Je ziet ook telkens hoeveel ruimte elk item inneemt.

Met de knop Systeembestanden opschonen start je een nieuwe scan, met op het extra tabblad Meer opties twee knoppen Opruimen: een om overbodige programma’s te verwijderen en een om oude herstelpunten te wissen. Verder in dit artikel komen we op deze onderdelen terug.

Je kunt ook opruimprofielen maken, waarbij telkens andere onderdelen worden opgeschoond. Druk op Windows-toets+Ren voer cleanmgr /sageset:<n>uit (vervang <n> door een willekeurig profielnummer, bijvoorbeeld 1), zet de gewenste vinkjes en bevestig met OK. Herhaal dit voor een ander profiel (zoals cleanmgr /sageset:<n+1>). Voer Schijfopruiming later opnieuw uit met een bestaand profiel via bijvoorbeeld cleanmgr

De tool Schijfopruiming is ook in Windows 11 nog goed bruikbaar.

De-junking

Er bestaan ook gratis tools die zich richten op het opsporen en verwijderen van tijdelijke en andere ongewenste bestanden (junk). Zulke tools zijn niet strikt noodzakelijk, maar wel handig om in één keer alle webbrowsers en andere applicaties schoon te maken. Maak vooraf wel een systeemherstelpunt: klik in het startmenu op Een herstelpunt maken en volg de instructies.

Bekende tools zijn CCleaner (www.ccleaner.com) en het opensource BleachBit (www.bleachbit.org). We nemen hier BleachBit als voorbeeld. Na het opstarten zie je in het linkervenster de onderdelen die kunnen worden opgeschoond, met rechts telkens een korte toelichting. Selecteer de gewenste items, zoals Google Chrome, Microsoft Edge, Microsoft Office en Systeem, en klik op Voorvertonen om te zien wat er precies wordt verwijderd en hoeveel ruimte dat oplevert. Je kunt ook met rechts op een item klikken en hier Voorvertonen kiezen om direct te zien hoeveel schijfruimte je ermee vrijmaakt. Bevestig met Opruimen om het opschoonproces te starten.

Heel wat programma’s laten sporen na die je wellicht liever opgeruimd ziet.

Programma’s verwijderen

Er is zoveel goede freeware dat je waarschijnlijk al regelmatig een gratis programma uitprobeert en installeert. Zulke programma’s kosten wel schijfruimte. Gebruik je een applicatie niet langer, dan verwijder je die bij voorkeur. Dat kan via Instellingen / Apps / Geïnstalleerde apps. Klik op het knopje met drie puntjes naast de app en kies Verwijderen (twee keer). Oudere of complexere toepassingen haal je weg via het Configuratiescherm met Een programma verwijderen.

Een nadeel van de Windows-procedures is dat je slechts één toepassing tegelijk verwijdert en niet altijd alle sporen meeneemt. Gratis alternatieven als IObit Uninstaller (www.kwikr.nl/uninst) en het opensource Bulk Crap Uninstaller (www.bcuninstaller.com) ondersteunen batchverwijdering en ruimen grondiger op. Omdat IObit nogal opdringerig is, focussen we hier op BCU, gericht op iets gevorderde gebruikers.

Sommige programma’s kun je vanuit het Configuratiescherm verwijderen.

BCU

Installeer BCU en start het programma. De eerste keer verschijnt een wizard die je in een zevental stappen door de initiële configuratie leidt; de voorgestelde opties kun je gerust laten staan. Daarna zie je een lijst met gedetecteerde programma’s die je kunt sorteren op bijvoorbeeld Naam, Installatiedatum of Grootte.

Met de Ctrl- of Shift-toets selecteer je meerdere ongewenste programma’s tegelijk, waarna je op De-installeer (stil) klikt. In het dialoogvenster dat volgt kun je het verwijderproces eventueel nog aanpassen, of zelfs kiezen voor De-installatie simuleren. Na bevestiging kun je eventueel nog aangeven welke programma-onderdelen je alsnog wilt behouden. BCU maakt automatisch een herstelpunt en zoekt na afloop naar restanten, zoals registersleutels, die je desgewenst kunt laten verwijderen. Via Help / Help openen krijg je toegang tot een uitgebreide Engelstalige handleiding.

BCU laat je het verwijderproces van applicaties nauwkeurig sturen.

Bloatware

De kans is groot dat Windows al vooraf geïnstalleerd was toen je je pc of laptop kocht. In dat geval heeft de fabrikant waarschijnlijk flink wat ‘crapware’ oftewel ‘bloatware’ toegevoegd, zoals proefversies en extra software naast de standaard Windows-apps. Je kunt deze handmatig verwijderen zoals eerder beschreven, maar er bestaan ook gratis tools die zich specifiek op bloatware richten.

Een daarvan is O&O AppBuster (www.kwikr.nl/appbuster). De app toont alle gedetecteerde programma’s en geeft per item in de kolom Recommendation een aanbeveling om het al dan niet te verwijderen. Kies je vervolgens de optie Computer, dan verdwijnen de geselecteerde apps ook bij toekomstige Windows-accounts. Beantwoord de vraag om eerst een herstelpunt te maken met Yes.

Voor iets gevorderde gebruikers is er Bloatware Removal Utility (www.kwikr.nl/bru). Klik op de groene Code-knop en kies Download ZIP. Pak het archief uit, navigeer naar de map, klik met rechts op Bloatware-Removal-Utility.bat en kies Als administrator uitvoeren. Dit start een PowerShell-script dat de aanwezige applicaties oplijst. Via Toggle Suggested Bloatware krijg je suggesties voor te verwijderen apps. Laat in het Options-menu de standaardinstellingen staan, zodat automatisch ook een herstelpunt wordt gemaakt. Selecteer de ongewenste items, klik op Remove Selected en bevestig met Y in het PowerShell-venster.

Op een Windows-pc is vaak veel ‘bloatware’ geïnstalleerd die je wellicht liever kwijt dan rijk bent.

Dubbele bestanden

Na verloop van tijd stapelen zich niet alleen overtollige bestanden op, maar vaak ook dubbele exemplaren. Wanneer je deze opspoort en verwijdert, moet je er zeker van zijn dat het echt om exacte kopieën gaat en dat het systeem of andere applicaties ze niet nodig hebben, wat geregeld voorkomt.

Handmatig dubbele bestanden opruimen is haast onmogelijk, maar met een hulpmiddel als het gratis opensource dupeGuru (https://dupeguru.voltaicideas.net) lukt dat wel. Installeer de app en start deze bij voorkeur als administrator. Met het plusknopje onderaan voeg je de mappen toe die je wilt laten analyseren. De Toepassingsmodus laat je bij voorkeur staan op Standaard, tenzij je specifiek dubbele muziek- of beeldbestanden zoekt. Bij Onderzoekstype kies je wellicht Bestandsnaam, maar je kunt ook Inhoud (duurt langer) of Mappen selecteren.

Je kunt direct op Onderzoeken klikken, rechtsonder, maar via Meer Opties pas je indien gewenst eerst zoekfilters aan. Zo kun je bijvoorbeeld Negeer bestanden kleiner dan x KB instellen om je op grote ruimtevreters te concentreren. Na de scan toont dupeGuru alle mogelijke dubbele bestanden met een zekerheidspercentage. Via Acties kun je geselecteerde bestanden kopiëren, verplaatsen of verwijderen. Nogmaals, wees hierbij wel voorzichtig.

Dubbele bestanden opsporen doe je liever niet helemaal handmatig.

Extra ruimte

We belichten graag nog enkele specials: onderdelen die vaak over het hoofd worden gezien, maar waarmee je toch flink wat schijfruimte kunt winnen.We doelen hier niet op allerlei ‘optimizer tools’ en ‘registry cleaners’, die zelden extra ruimte of betere systeemprestaties opleveren en soms zelfs schade veroorzaken. Wat wél merkbaar ruimte kan besparen is het uitschakelen van de sluimerstand. Tijdens deze energiemodus wordt de inhoud van het werkgeheugen opgeslagen in het verborgen systeembestand C:\hiberfil.sys voordat de pc wordt afgesloten. Dit bestand kan tot zo’n 75 procent van het totale RAM-geheugen groot zijn. Kun je zonder sluimerstand, open dan de Opdrachtprompt als administrator en voer powercfg -h off uit (h staat voor hibernation). Na bevestiging verdwijnt hiberfil.sys. Met de parameter -on kun je de sluimerstand desgewenst later weer inschakelen.

Ook door systeemherstelpunten te verwijderen kun je tijdelijk veel ruimte vrijmaken. Druk op Windows-toets+R en voer systempropertiesprotection uit. In het venster Systeemeigenschappen open je het tabblad Systeembeveiliging, klik je op Configureren en daarna op Verwijderen en Doorgaan. Zodra het kan, kun je via de knop Maken opnieuw een herstelpunt creëren.

Bij acute schijfnood kun je eventueel ook de gemaakte herstelpunten verwijderen.

Acuut

Bij acute schijfnood kun je overwegen de schijfinhoud te comprimeren. Windows biedt hier standaard tools voor. Open de Verkenner, klik met rechts op de gewenste stationsletter en kies Eigenschappen. Plaats op het tabblad Algemeen een vinkje bij Dit station comprimeren om schijfruimte te besparen. Bevestig met OK en geef aan of je dit ook op alle onderliggende mappen wilt toepassen. De compressie start dan meteen. Je kunt het vinkje later weer weghalen om de data te decomprimeren. Compressie kun je ook via de opdrachtprompt starten, uitgevoerd als administrator. Met:

compact /compactos:always


comprimeer je een aantal Windows-systeembestanden, wat enkele gigabytes ruimte kan opleveren. Met:

/compactos:never

maak je dit ongedaan. .Ook afzonderlijke mappen kun je op deze manier comprimeren met:

compact.exe /c /s:<pad_naar_map>

waarbij /s ook submappen meeneemt. Vervang /c (compress) door /u (uncompress) om bestanden weer te decomprimeren. Houd er rekening mee dat het automatisch decomprimeren van bestanden bij gebruik een licht prestatieverlies kan veroorzaken, vooral op oudere pc’s.

Als de nood het hoogst is, is compressie nabij.
Cloudopslag

Een extra tip voor wie de synchronisatiefunctie van cloudopslagdiensten als Google Drive of Microsoft OneDrive gebruikt: je kunt instellen dat lokale bestanden enkel verwijzingen zijn naar de exemplaren in de cloud. Pas wanneer je zo’n bestand opent, wordt het tijdelijk gedownload en op je systeem beschikbaar. Dit bespaart veel ruimte, maar het betekent wel dat je data fysiek alleen in de cloud staan en dat je een internetverbinding nodig hebt om nog niet gedownloade bestanden te openen.

In Microsoft OneDrive bijvoorbeeld stel je dit als volgt in. Klik op het OneDrive-pictogram in het systeemvak van de taakbalk, klik op het tandwielpictogram en kies Instellingen. Ga onderaan naar Geavanceerde instellingen en klik op Schijfruimte vrijmaken bij Bestanden op aanvraag. Bevestig met Doorgaan. Je herkent de verwijzingen aan een wolkicoontje; een wit bolletje met vinkje betekent tijdelijk offline opgeslagen, een groen bolletje wijst op altijd lokaal beschikbaar.

Proactief

Tot nu toe hebben we ons vooral gericht op tools en technieken om overtollige bestanden gericht op te sporen en te verwijderen, maar je kunt ook proactiever te werk gaan. Een handig hulpmiddel daarvoor vind je in de Instellingen van Windows. Kies Systeem / Opslag en klik bij Opslagbeheer op Opslaginzicht. Plaats een vinkje bij Windows probleemloos laten werken door […], zodat tijdelijke bestanden voortaan automatisch worden opgeschoond. Je kunt ook de optie Gebruikersinhoud automatisch opschonen activeren.

Bij Opslaginzicht uitvoeren bepaal je zelf wanneer deze functie actief wordt. De standaardinstelling Bij weinig vrije schijfruimte lijkt ons prima. Daarnaast kun je instellen dat bestanden in de prullenbak automatisch worden verwijderd zodra ze langer dan een instelbaar aantal dagen (tussen 1 en 60) aanwezig zijn. Voor bestanden in de map ‘Downloads’ geldt hetzelfde: ook die kunnen automatisch verdwijnen na een bepaald aantal dagen ongeopend te zijn gebleven. Tot slot kun je, aanvullend op wat we in het kaderstuk schreven, instellen dat bestanden uit OneDrive alleen nog online beschikbaar blijven als je ze gedurende een instelbaar aantal dagen niet hebt geopend. Klik op Opslaginzicht nu uitvoeren om de ingestelde opruimacties meteen te starten.

Je kunt diverse opschoonoperaties bij een tekort aan schijfruimte automatisch laten uitvoeren.
▼ Volgende artikel
Ontslagen bij Ubisoft Toronto, Splinter Cell-remake nog wel in ontwikkeling
Huis

Ontslagen bij Ubisoft Toronto, Splinter Cell-remake nog wel in ontwikkeling

Ubisoft heeft bevestigd dat er ongeveer veertig werknemers van diens studio in Toronto, Canada worden ontslagen. Wel benadrukt het bedrijf dat de Splinter Cell-remake nog altijd in ontwikkeling is.

De veertig ontslagen werknemers beslaan ongeveer acht procent van de complete Ubisoft Toronto-studio. Dat is een van de grotere Ubisoft-studio's. "Dit besluit is niet lichtzinnig gemaakt en zegt niets over het talent, de motivatie en bijdrage van de individuen", zo stelde een woordvoerder.

Ubisoft Toronto heeft odner andere Far Cry 6, Splinter Cell: Blacklist en Watch Dogs Legion ontwikkeld. Ook werkt het al geruime tijd aan een remake van Splinter Cell. Ubisoft heeft benadrukt dat die remake in ontwikkeling blijft bij de studio.

Remake van Splinter Cell

In 2021 werd de remake van de klassieke stealthgame Splinter Cell aangekondigd. Sindsdien is er maar mondjesmaat informatie over de game naar buiten gekomen. Kort na de aankondiging werd gemeld dat het verhaal wordt herschreven voor een moderner publiek.

Eind vorig jaar bleek dat David Grivel terugkeerde naar Ubisoft Toronto om aan het spel te werken. Hij nam de regie van de remake oorspronkelijk op zich, maar vertrok in 2022. Inmiddels is hij dus weer terug op het oude nest en werkt hij weer aan het spel.

Watch on YouTube

Reorganisatie van Ubisoft

Afgelopen januari kondigde de Franse uitgever en ontwikkelaar Ubisoft al een grootschalige reorganisatie van het bedrijf aan, waarbij ook zes games werden geannuleerd - waaronder de remake van Prince of Persia: The Sands of Time.

Ubisoft noemde de reorganisatie een "grote organisatorische, operationele en portfolio-reset". Daarbij wil het bedrijf nog meer letten op de kwaliteit die het uitgeeft. Ubisofts nieuwe model gaat zich richten op verschillende 'creatieve huizen' die zich elk met andere soorten games bezighouden. Een daarvan is Vantage Studios, de vorig jaar met Tencent opgerichte dochteronderneming waar Assassin's Creed, Far Cry en Rainbow Six nu onder vallen.

Ubisoft heeft daarnaast aangekondigd dat het thuiswerken niet meer toelaat en dat alle werknemers worden geacht om fulltime op kantoor aanwezig te zijn. Wel krijgen werknemers een "een jaarlijkse toelage bestaande uit thuiswerkdagen". Twee studio's van Ubisoft sloten daarnaast hun deuren: de studio's in Halifax en Stockholm. Gedurende de volgende twee jaren wil het bedrijf nog eens 200 miljoen euro besparen.

Ubisoft heeft de laatste jaren wisselend succes met zijn games. Zo viel de verkoop van het miljoenenproject Star Wars Outlaws tegen. Zover bekend is het begin vorig jaar uitgekomen Assassin's Creed Shadows wel een verkoopsucces.