[Python] Rekursiv durchs Verzeichnis



  • Hi,

    #! /usr/bin/env python3
    
    import os
    
    def f(dirpath, indent = ""):
        for x in os.listdir(dirpath):
            x = os.path.abspath(x)
    
            if not os.path.islink(x) and os.path.isdir(x):
                f(x, indent + '\t')
            print(indent, x)
    
    if __name__ == "__main__":
        f("/")
    

    Ich weiß, es gibt eine os.walk()-Funktion, mich würde jedoch interessieren warum dieser Code nicht Funktioniret. Die if-Bedingung wird nie durchgeführt.



  • listdir liefert dir nur den relativen Pfad zu "dirpath". Du musst die concaten bevor du abspath darauf aufrufst.


Anmelden zum Antworten