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)