Search code examples
pythonarcpy

List files inside folders in Arcpy?


I have done the procedure to list shapefiles in an environment but it returns the folder names inside the envirnoment:

arcpy.env.workspace  = r"C:\Users\user\Desktop\results"
dd= arcpy.ListFiles()
for i in dd:
    print(i)

gives:

shapesfiles1  
shapefiles2

How to print what is inside these folders?


Solution

  • arcpy.da.Walk() can do this, documentation

    This would list all files found:

    import arcpy
    import os
    
    arcpy.env.workspace = r"C:\Users\user\Desktop\results"
    
    walk = arcpy.da.Walk(datatype="FeatureClass")
    
    for dir_path, dir_names, file_names in walk:
        for filename in file_names:
            print(filename)
    

    Or if you want the full path:

    import arcpy
    import os
    
    arcpy.env.workspace = r"C:\Users\user\Desktop\results"
    
    walk = arcpy.da.Walk(datatype="FeatureClass")
    
    for dir_path, dir_names, file_names in walk:
        for filename in file_names:
            print(os.path.join(dir_path, filename))