Schrijf de functie lees_bestandsnaam() die aan de gebruiker de naam vraagt van een bestand. Indien het gevraagde bestand niet bestaat wordt aan de gebruiker een nieuwe invoer gevraagd. De functie geeft de bestandsnaam terug.

Tips

Ik vind het juiste type niet voor de parameters van deze functie. def lees_bestandsnaam() -> str:
Hoe kan ik het inlezen herhalen en op het juiste moment ook stoppen? Ofwel gebruik je een logische hulpvariabele, ofwel gebruik je de oneindige lus while True.
In de volgende tip wordt uitgelegd hoe je de lus dan stopt.
Wat moet ik doen in het try-blok?
  • maak een bestandsobject aan voor de ingelezen bestandsnaam
  • Indien dit lukt, kan je de logische hulpvariable aanpassen zodat de lus stopt of de ingelezen bestandsnaam teruggeven, dan spring je uit de functie, en dus ook uit de lus.
Wat moet ik doen in het except-blok? Hier staat de code die moet uitgevoerd worden als het niet gelukt is om het bestand te openen.
Ofwel moet je hier een nieuwe bestandsnaam inlezen, ofwel moet je niets doen (dit hangt af van de andere code)
Hoe kan de code 'niets' doen? Gebruik hiervoor pass.
Moet ik de bestanden ook sluiten? Uiteraard!! Twee mogelijkheden:
  • Gebruik with om het bestand te openen, dan wordt het ook automatisch gesloten.
  • In het try-blok sluit je het bestand, nadat het bestandsobject correct is aangemaakt.