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)

 

Verwante artikelen