Bestanden en directories opvragen
Op deze pagina:
Je kunt bestanden en directories die in een directory staan opvragen met de "os" module.
Voor het opvragen van directories kun je de "listdir()" method gebruiken. Je krijgt dan een lijst (list) terug met alle bestanden en directories in de opgegeven directory.
import os
dirnaam = '/home/kees'
bestandenlijst = os.listdir(dirnaam)
print(bestandenlijst)
Om het volledige pad van de bestanden mee te krijgen kun je de "os.path.join()" method gebruiken:
import os
dirnaam = '/home/kees'
bestandenlijst = os.listdir(dirnaam)
metpaden = map(lambda name: os.path.join(dirnaam, name), bestandenlijst)
print(list(metpaden))
Om alleen bestanden of alleen directories op te vragen, kun je "os.path.isfile()" en "os.path.isdir()" gebruiken.
import os
dirnaam = '/home/kees'
bestandenlijst = os.listdir(dirnaam)
metpaden = map(lambda name: os.path.join(dirnaam, name), bestandenlijst)
dirs = []
bestanden = []
for item in metpaden:
if os.path.isdir(item):
dirs.append(item)
if os.path.isfile(item):
bestanden.append(item)
print(list(dirs))
print(list(bestanden))
Een recursieve functie voor het opvragen van de inhoud van een directory
import os
def geef_dir_inhoud(pad):
for kind in os.listdir(pad):
kindpad = os.path.join(pad,kind)
if os.path.isdir(kindpad):
geef_dir_inhoud(kindpad)
else:
print(kindpad)