Python:
Controleren of een directory bestaat
Hoe:
Python maakt het controleren op een directory eenvoudig met de os
en pathlib
modules:
Gebruikmakend van os.path
:
import os
# Controleren of de directory bestaat
if os.path.isdir("/pad/naar/directory"):
print("De directory bestaat.")
else:
print("De directory bestaat niet.")
Gebruikmakend van pathlib
:
from pathlib import Path
# Controleren of de directory bestaat
directory = Path("/pad/naar/directory")
if directory.is_dir():
print("De directory bestaat.")
else:
print("De directory bestaat niet.")
Voorbeelduitvoer:
De directory bestaat.
of
De directory bestaat niet.
Diepgaand:
Historisch gezien gebruikte Python de os
module voor bestandssysteemoperaties. Echter, os.path.isdir()
was de feitelijke standaard voor het controleren van directories. Het probleem was dat os.path
werkte met strings voor paden, wat onhandig kon zijn.
Enter de modernere pathlib
module, geïntroduceerd in Python 3.4. Het gebruikt object-georiënteerde paden, wat de code leesbaarder en bondiger maakt. Nu heb je Path.is_dir()
, een methode die niet alleen je code netter maakt, maar er is ook iets aangenaams aan het aaneenkoppelen van methoderoepen aan een Path-object.
Als deze methoden False
teruggeven voor een niet-bestaande directory, kan dat twee dingen betekenen: of de directory is er echt niet, of je programma heeft niet de toestemming om het te zien.
Zie ook:
- Documentatie van de
os
module: https://docs.python.org/3/library/os.html - Documentatie van de
pathlib
module: https://docs.python.org/3/library/pathlib.html - Bestandssysteempermissies in Python: https://docs.python.org/3/library/os.html#os.access