Inloggen
Inloggen

Command-line opties en argumenten verwerking met argparse in Python

Command-line opties en argumenten verwerking met argparse in Python
Hostman Team
Technical writer
Programmeertaal Python
25.11.2025
Reading time: 4 min

Command-line interfaces (CLI’s) behoren tot de snelste en meest doeltreffende manieren om met software te communiceren. Ze stellen je in staat om opdrachten direct uit te voeren, wat leidt tot snellere uitvoering en uitgebreidere functionaliteit. Ontwikkelaars bouwen vaak CLI’s in Python voor diverse applicaties, tools en automatiseringsscripts, zodat gebruikersinvoer dynamisch kan worden verwerkt. Daarbij komt het Python-module argparse goed van pas.

Het argparse-module vereenvoudigt het verwerken van command-line-invoer en stelt ontwikkelaars in staat interactieve en gebruiksvriendelijke tools te bouwen. Als onderdeel van de standaardbibliotheek kunnen programmeurs hiermee invoer definiëren, verwerken en valideren zonder ingewikkelde logica.

In dit artikel bespreken we de belangrijkste concepten, nuttige voorbeelden en geavanceerde functies van het argparse-module, zodat je meteen kunt beginnen met het bouwen van betrouwbare command-line tools.

Hoe argparse in Python te gebruiken voor CLI’s

Stap 1: Module importeren

Importeer het module in je Python-script:

import argparse

Dit maakt het mogelijk om argumenten vanuit de command line te verwerken.

Stap 2: Een ArgumentParser-object aanmaken

De klasse ArgumentParser is de basis van de argparse-API. Maak een instantie aan:

parser = argparse.ArgumentParser(description="A Hostman tutorial on Python argparse.")

Hier:

  • description beschrijft wat het programma doet en wordt weergegeven wanneer iemand --help uitvoert.

Stap 3: Inputs en opties toevoegen

Definieer de parameters die je programma accepteert via add_argument():

parser.add_argument('filename', type=str, help="Name of the file to process")

parser.add_argument('--verbose', action='store_true', help="Enable verbose mode")

Toelichting:

  • filename is verplicht.

  • --verbose is optioneel en schakelt de verbose-modus in.

Stap 4: Gebruikersinvoer verwerken

Start de verwerkingsfase met:

args = parser.parse_args()

De waarden worden opgeslagen als attributen van het args-object.

Stap 5: Verwerkte data gebruiken

Voorbeeld:

print(f"File to process: {args.filename}")

if args.verbose:

    print("Verbose mode enabled")

else:

    print("Verbose mode disabled")

Voorbeelden van CLI-gebruik

Zonder verbose-modus

python3 file.py example.txt

Met verbose-modus

python3 file.py example.txt --verbose

Help weergeven

python3 file.py --help

Veelgebruikte argparse-voorbeelden

Voorbeeld 1: Standaardwaarden toevoegen

Optionele parameters kunnen een standaardwaarde krijgen. In dit voorbeeld wordt een standaard-timeout van 30 seconden ingesteld:

import argparse

parser = argparse.ArgumentParser(description="Demonstrating default argument values.")

parser.add_argument('--timeout', type=int, default=30, help="Timeout in seconds (default: 30)")

args = parser.parse_args()

print(f"Timeout value: {args.timeout} seconds")

Uitleg

  • argparse importeren

  • Parser initialiseren

  • --timeout toevoegen met type=int en default=30

  • Waarden parsen met parse_args()

Case 1: standaardwaarde

python file.py

Case 2: aangepaste waarde

python file.py --timeout 60

Voorbeeld 2: Gebruik van choices

Met choices kun je een argument beperken tot een vooraf vastgestelde set geldige waarden:

parser.add_argument('--mode', choices=['basic', 'advanced'], help="Choose the mode of operation")

Case 1: geldig

python3 file.py --mode basic

Case 2: geen invoer

python3 file.py

Case 3: ongeldig

python3 file.py --mode intermediate

Voorbeeld 3: Meerdere waarden verwerken

Gebruik nargs='+' om meerdere waarden te accepteren:

parser.add_argument('--numbers', nargs='+', type=int, help="List of numbers to process")

Case 1: meerdere waarden

python3 file.py --numbers 10 20 30

Case 2: één waarde

python3 file.py --numbers 5

Case 3: geen invoer

python3 file.py

Case 4: ongeldig

python3 file.py --numbers 10 abc 20

Voorbeeld 4: Vereiste optionele argumenten

Optionele argumenten (met --) zijn standaard niet verplicht. Met required=True kun je dat wijzigen:

parser.add_argument('--config', required=True, help="Path to the configuration file")

Case 1: geldig

python3 file.py --config settings.json

Case 2: ontbreekt

python3 file.py

Geavanceerde functies van argparse

Boolean flags

parser.add_argument('--debug', action='store_true', help="Enable debugging mode")

Argumentgroepen

group = parser.add_argument_group('File Operations')

group.add_argument('--input', type=str, help="Input file")

group.add_argument('--output', type=str, help="Output file")

Mutually exclusive options

group = parser.add_mutually_exclusive_group()

group.add_argument('--json', action='store_true', help="Output in JSON format")

group.add_argument('--xml', action='store_true', help="Output in XML format")

Conclusie

Het argparse-module maakt het eenvoudig om betrouwbare CLI’s te bouwen voor het verwerken van command-line argumenten in Python. Van eenvoudige parameters tot geavanceerde opties zoals choices en nargs, ontwikkelaars kunnen robuuste en gebruiksvriendelijke tools schrijven. Het gebruik van duidelijke argumentnamen en goede help-teksten verbetert daarbij de leesbaarheid en onderhoudbaarheid van je scripts.

Programmeertaal Python
25.11.2025
Reading time: 4 min

Vergelijkbaar

Programmeertaal Python

HTTP-verzoeken begrijpen: structuur, methoden en voorbeelden

HTTP is de sleutel tot communicatie op het internet. Methoden van het HTTP-protocol stellen clients in staat verzoeken naar servers te sturen en servers om antwoorden terug te sturen. Elke website op het World Wide Web gebruikt HTTP-requests. Daarom is het essentieel om ze te begrijpen. Dit artikel behandelt het concept van HTTP-requests, hun structuur, veelgebruikte methoden en voorbeelden uit de praktijk. Dit helpt om te begrijpen hoe het web functioneert. Wat is een HTTP-request? Een HTTP-request is een bericht waarin een client – zoals een webbrowser – de host op de server om een specifieke resource vraagt. Clients gebruiken URL’s in HTTP-requests om aan te geven welke resources ze van de server willen opvragen. Componenten van een HTTP-request Elke HTTP-request bestaat uit drie hoofdcomponenten: Request line Headers Message body Request Line De request line is de eerste regel van een HTTP-request. Deze initialiseert een actie op de server. De request line geeft aan welke HTTP-methode en HTTP-versie de client gebruikt. Naast de methode bevat de request line een URI of URL. Voorbeeld van een request line: GET /index.html HTTP/1.1 Headers De headers volgen direct na de request line. Ze geven extra informatie van de client aan de server. Headers bevatten o.a. informatie over de host, de user agent, taalvoorkeuren en meer. De server gebruikt deze gegevens om de browser en het besturingssysteem van de client te identificeren. HTTP-headers zijn hoofdlettergevoelig, gevolgd door een dubbele punt en een waarde. Voorbeeld van HTTP-request headers: Host: example.com User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Accept: application/json, text/plain, */* Accept-Language: en-US,en;q=0.9 Accept-Encoding: gzip, deflate, br Connection: keep-alive Message Body Het message body-gedeelte wordt gebruikt om data naar de server te sturen. Het is optioneel: niet elke HTTP-request bevat een body. Of een body wordt gebruikt, hangt af van de HTTP-methode. Requests die een body bevatten gebruiken meestal POST, bijvoorbeeld om formulierdata te versturen. De server verwerkt deze data verder. Veelgebruikte HTTP-methoden Een HTTP-request verbindt de client met de server. Redenen hiervoor kunnen zijn: een resource opvragen nieuwe data versturen bestaande data wijzigen data verwijderen Hieronder de belangrijkste en meest gebruikte methoden: 4.1 GET – Resources ophalen De meest gebruikte HTTP-methode is GET, waarmee de server om specifieke data wordt gevraagd. Elke keer dat een gebruiker een webpagina opent, stuurt de browser een GET-request om de benodigde content op te halen. Eigenschappen van GET: cacheable safe idempotent GET kan alleen bestaande data ophalen — het verandert niets aan de server. POST – Data versturen Wanneer een client data naar de server moet sturen (bijv. formulieren, uploads), wordt POST gebruikt. De body bevat de verzonden gegevens. Meerdere POST-requests kunnen meerdere nieuwe resources creëren. PUT – Resources bijwerken PUT lijkt op POST, maar: POST = nieuwe data creëren PUT = bestaande data vervangen De client moet de volledige nieuwe versie van de resource meesturen. PUT is idempotent – dezelfde request meerdere keren uitvoeren levert hetzelfde resultaat op. DELETE – Resources verwijderen DELETE laat de server weten dat een bepaalde resource moet worden verwijderd. Als het verwijderen is gelukt, stuurt de server een bevestiging terug. DELETE is eveneens idempotent. Wat is een HTTP-response? Wanneer de server een antwoord terugstuurt op een HTTP-request, heet dat een HTTP-response. Net als een request bestaat deze uit drie delen: Status line Headers Message body Status Line Deze bevat: HTTP-versie Statuscode Statusbericht Headers Response headers bevatten extra informatie zoals: datum en tijd content-type serverdetails cache-instructies Body De body bevat de daadwerkelijke gegevens die naar de client worden teruggestuurd, zoals: HTML JSON XML afbeeldingen bestanden Statuscodes en hun betekenis HTTP-statuscodes geven aan hoe de server de aanvraag heeft verwerkt. Ze bestaan uit drie cijfers, waarbij het eerste cijfer de categorie bepaalt: Codegroep Beschrijving 1xx Informatief – verwerking gaat door 2xx Succes – verzoek correct verwerkt 3xx Redirect – extra acties vereist 4xx Clientfout – probleem aan clientzijde 5xx Serverfout – probleem aan serverzijde HTTP-headers en hun belang Headers bevatten cruciale informatie voor de communicatie tussen client en server. Ze zijn essentieel voor webfunctionaliteit. Host-identificatie Headers geven aan welk domein door de server wordt gehost. Caching Expires en Cache-Control bepalen hoe lang content wordt opgeslagen. Cookiebeheer Headers zoals Set-Cookie en Cookie houden gebruikerssessies bij. Beveiliging Headers zoals Authorization en Content-Security-Policy beschermen webapplicaties. Response-controle Headers geven aan of een request succesvol was of niet. Praktische voorbeelden van HTTP-requests De voorbeelden hieronder gebruiken Python en de requests-bibliotheek. GET import requests response = requests.get("https://api.example.com/data",                         params={"param1": "value1", "param2": "value2"}) print(response.status_code) print(response.json()) POST import requests url = "https://api.example.com/users" data = {     "username": "newuser",     "email": "newuser@example.com",     "password": "securepassword" } response = requests.post(url, json=data) if response.status_code == 201:     print("User created successfully:", response.json()) else:     print("Error:", response.status_code, response.text) PUT import requests url = "https://api.example.com/users/123" data = {     "username": "updateduser",     "email": "updateduser@example.com" } response = requests.put(url, json=data) if response.status_code == 200:     print("User updated successfully:", response.json()) else:     print("Error:", response.status_code, response.text) DELETE import requests url = "https://api.example.com/users/123" response = requests.delete(url) if response.status_code == 204:     print("User deleted successfully.") else:     print("Error:", response.status_code, response.text) Conclusie HTTP-requests spelen een cruciale rol bij webinteracties. Daarom is het belangrijk om de verschillende methoden te kennen en te begrijpen hoe ze werken. Het kiezen van de juiste methode zorgt voor efficiënte communicatie tussen client en server en verbetert de prestaties van webapplicaties.
10 December 2025 · 6 min to read
Programmeertaal Python

Hoe je de lengte van een lijst in Python bepaalt

Lijsten worden in Python bijna overal gebruikt. In deze tutorial bekijken we vier manieren om de lengte van een Python‑lijst te bepalen: met ingebouwde functies, recursie en een lus. De lengte van een lijst kennen is vaak nodig om erover te itereren en verschillende bewerkingen uit te voeren. Functie len() len() is een ingebouwde Python‑functie om de lengte van een lijst te bepalen. De functie accepteert één argument — de lijst zelf — en retourneert een geheel getal dat gelijk is aan de lengte van de lijst. Dezelfde functie werkt ook met andere iterabele objecten, zoals strings. Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany"] count = len(Country_list) print("There are", count, "countries") Output: There are 4 countries De lengte van een lijst bepalen met een lus Je kunt de lengte van een lijst in Python bepalen met een for-lus. Het idee is om de hele lijst te doorlopen en bij elke iteratie een teller met 1 te verhogen. Laten we dit in een aparte functie onderbrengen: def list_length(list): counter = 0 for i in list: counter = counter + 1 return counter Country_list = ["The United States of America", "Cyprus", "Netherlands", "Germany", "Japan"] count = list_length(Country_list) print("There are", count, "countries") Output: There are 5 countries De lengte van een lijst bepalen met recursie Dezelfde taak kan worden opgelost met recursie: def list_length_recursive(list): if not list: return 0 return 1 + list_length_recursive(list[1:]) Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland"] count = list_length_recursive(Country_list) print("There are", count, "countries") Output: There are 6 countries Hoe het werkt. De functie list_length_recursive() ontvangt een lijst als invoer. Als de lijst leeg is, retourneert ze 0 — de lengte van een lege lijst. Anders roept ze zichzelf recursief aan met het argument list[1:], een slice van de originele lijst die begint bij index 1 (dus de lijst zonder het element op index 0). Het resultaat van die aanroep wordt opgeteld bij 1. Bij elke recursieve stap groeit de geretourneerde waarde met één terwijl de lijst met één element krimpt. Functie length_hint() De functie length_hint() bevindt zich in de module operator. Die module bevat functies die overeenkomen met interne Python-operatoren: optellen, aftrekken, vergelijken enzovoort. length_hint() retourneert de lengte van iterabele objecten zoals strings, tuples, dictionaries en lijsten. Ze werkt vergelijkbaar met len(): from operator import length_hint Country_list = ["The United States of America", "Cyprus", "Netherlands","Germany", "Japan", "Poland", "Sweden"] count = length_hint(Country_list) print("There are", count, "countries") Output: There are 7 countries Let op dat length_hint() moet worden geïmporteerd voordat je deze gebruikt. Conclusie In deze gids hebben we vier manieren besproken om de lengte van een lijst in Python te bepalen. Onder gelijke omstandigheden is de meest efficiënte methode len(). De andere benaderingen zijn vooral zinvol wanneer je aangepaste klassen implementeert die lijken op een lijst.
04 December 2025 · 3 min to read
Programmeertaal Python

Hoe pip op Windows te installeren

pip is een hulpprogramma dat het installeren en beheren van Python-pakketten eenvoudig maakt. Van Python-beginners tot ervaren ontwikkelaars – het hebben van dit hulpmiddel op je Windows-computer is een echte gamechanger. Het vereenvoudigt de installatie van belangrijke frameworks en bibliotheken voor je ontwikkelingsbehoeften. Door pakketbeheer te automatiseren met pip bespaar je tijd en verminder je de complicaties van handmatige installaties. Volg deze handleiding om te leren hoe je pip instelt en je Python-pakketten moeiteloos beheert. pip-installatieproces voor Windows Hier zijn de richtlijnen voor het instellen van pip op een Windows-computer. Stap 1: Installatie bevestigen Controleer of Python correct werkt op je apparaat voordat je begint met het instellen van pip. Open de opdrachtprompt en voer uit: python --version   Als Python niet op je systeem is geïnstalleerd, download het dan van de officiële website. Stap 2: Download get-pip.py Het standaardinstallatiepakket van Python bevat automatisch pip. Als pip per ongeluk is verwijderd, download dan het script get-pip.py. Je hebt twee opties: bezoek de pip.py-webpagina of gebruik het curl-commando voor een snelle installatie: curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py Opmerking: Python opnieuw installeren om pip te verkrijgen is ook een optie. Dit kan echter soms leiden tot conflicten met andere afhankelijkheden of instellingen. Met dit script blijft je huidige Python-installatie ongewijzigd. Stap 3: Voer get-pip.py uit Navigeer via de opdrachtprompt naar de locatie van het script en voer uit: python get-pip.py Hiermee wordt pip soepel op je apparaat geïnstalleerd. Stap 4: Bevestig de installatie van pip Controleer de installatie door het volgende commando uit te voeren: pip --version Met dit commando wordt bevestigd dat pip correct op het systeem is geïnstalleerd. Stap 5: Voeg pip toe aan het systeempad (PATH) Als het commando niet goed werkt, werk dan je systeem-PATH bij met deze instructies om pip toe te voegen: Klik met de rechtermuisknop op Deze computer of Mijn computer en selecteer Eigenschappen. Kies Geavanceerde systeeminstellingen. Selecteer Omgevingsvariabelen. Ga naar de systeemvariabelen, zoek de variabele Path en kies Bewerken. Voeg de Python Scripts-map toe aan je systeem-PATH, bijvoorbeeld: C:\Python39\Scripts. Alternatieve methoden om pip op Windows te installeren Laten we een paar andere manieren bekijken om pip eenvoudig op Windows te installeren. Via de ingebouwde ensurepip-module Vanaf Python 3.4 is er een handige ingebouwde module genaamd ensurepip. Met dit hulpmiddel wordt de installatie van pip vereenvoudigd en is het script get-pip.py niet meer nodig. Stap 1: Voer ensurepip uit Voer het volgende commando in om pip in te stellen: python -m ensurepip --default-pip Stap 2: Controleer de installatie van pip Controleer de pip-versie met: pip --version Python-installatieprogramma gebruiken om pip te installeren Zorg ervoor dat het selectievakje voor pip is aangevinkt tijdens de Python-installatie. Zo doe je dat: Stap 1: Download het installatieprogramma Open je favoriete browser, ga naar de officiële Python-website en download het meest recente installatiebestand. Stap 2: Start het installatieprogramma Voer het gedownloade installatieprogramma uit en zorg ervoor dat je de optie “Add Python to PATH” selecteert tijdens de installatie. Stap 3: Installeer pip Tijdens het installatieproces, zorg ervoor dat je de optie “Install pip” aanvinkt. Stap 4: Controleer of pip is geïnstalleerd Wanneer de installatie is voltooid, controleer de pip-installatie met: pip --version pip-versie aanpassen: upgraden of downgraden pip kan worden aangepast aan je behoeften door het te upgraden of te downgraden. Zo doe je dat: pip upgraden Voer het volgende commando uit om pip bij te werken: python -m pip install --upgrade pip pip downgraden Om pip terug te zetten naar een eerdere versie, gebruik: python -m pip install pip==<version> Vervang <version> door het gewenste versienummer (bijvoorbeeld 21.0). Veelvoorkomende pip-installatieproblemen oplossen Hieronder vind je veelvoorkomende problemen bij het installeren van pip en hun oplossingen: Probleem 1: “pip” wordt niet herkend als een intern of extern commando Oplossing: Dit betekent dat het pad van pip niet is ingesteld in het systeem-PATH. Volg de instructies in “Stap 5” om dit te verhelpen. Probleem 2: Toegang geweigerd Oplossing: Start de opdrachtprompt als beheerder door met de rechtermuisknop op het pictogram te klikken en “Als administrator uitvoeren” te kiezen. Voer vervolgens de commando’s opnieuw uit. Probleem 3: Ontbrekende afhankelijkheden Oplossing: Soms treden er fouten op door ontbrekende afhankelijkheden. Installeer deze handmatig met pip. Bijvoorbeeld: pip install package_name Vervang package_name door de juiste afhankelijkheid. Virtuele omgevingen gebruiken Het gebruik van virtuele omgevingen houdt afhankelijkheden gescheiden en voorkomt conflicten. Zo gebruik je een virtuele omgeving met pip: Virtuele omgeving maken python -m venv env_name Vervang env_name door de gewenste naam van je omgeving. Virtuele omgeving activeren env_name\Scripts\activate Basiscommando’s van pip Hier zijn enkele basiscommando’s om pip te gebruiken: Een pakket installeren pip install package_name Vervang package_name door de naam van het gewenste pakket. Een pakket verwijderen pip uninstall package_name Geïnstalleerde pakketten weergeven pip list Pakketinformatie weergeven pip show package_name Beste praktijken voor pakketbeheer Gebruik virtuele omgevingen om afhankelijkheden efficiënt te beheren in meerdere projecten. Controleer en update je pakketten regelmatig om soepele werking te garanderen. Maak requirements-bestanden aan om het beheer van afhankelijkheden te vereenvoudigen. Beveiligde pip-installatie Het waarborgen van de veiligheid van de pakketten die door pip worden beheerd is cruciaal. Hier zijn enkele tips om je omgeving veilig te houden: Houd projecten geïsoleerd om conflicten en onveilige installaties te voorkomen. Controleer de betrouwbaarheid en authenticiteit van pakketbronnen voordat je ze installeert. Gebruik bij voorkeur officiële repositories en bekijk recensies. Werk pip en je pakketten regelmatig bij om te profiteren van de nieuwste beveiligingsupdates. Controleer je afhankelijkheden regelmatig op bekende kwetsbaarheden. Tools zoals pip-audit kunnen hierbij helpen. Volg veilige programmeerstandaarden en vermijd verouderde of onveilige pakketten. Integratie van pip met IDE’s pip kan eenvoudig worden geïntegreerd in verschillende Integrated Development Environments (IDE’s), wat je ontwikkelproductiviteit aanzienlijk verhoogt: VS Code: gebruik de geïntegreerde terminal om pip-commando’s direct in de editor uit te voeren en pakketten te beheren. PyCharm: optimaliseer het pakketbeheer door pip in te stellen via de projectinterpreter. Dit vereenvoudigt de installatie en het beheer van pakketten die zijn afgestemd op je specifieke projectbehoeften. Jupyter Notebook: gebruik magische commando’s in de notebookinterface om pakketten direct te installeren. Dit zorgt voor een soepele en geïntegreerde ervaring bij het beheren van afhankelijkheden terwijl je aan interactieve notebooks werkt.  Conclusie Windows biedt verschillende methoden om pip te installeren, afhankelijk van je voorkeuren en vereisten. Of je nu het .py-script gebruikt, de ingebouwde ensurepip-module of pip inschakelt tijdens de initiële installatie – al deze benaderingen zorgen ervoor dat pip correct wordt geconfigureerd op je systeem. Vergeet niet om pip up-to-date te houden om de veiligheid en efficiëntie van je Python-omgeving te waarborgen. Controleer regelmatig op updates en houd pip bijgewerkt. Bovendien vind je op ons Application Platform Python-apps zoals Celery, Django, FastAPI en Flask.
24 October 2025 · 7 min to read

Heb je vragen,
opmerkingen of zorgen?

Onze professionals staan altijd klaar om je te helpen,
of je nu hulp nodig hebt of gewoon niet weet waar te beginnen
E-mail ons
Hostman's Support