I am trying to list the layers of a file geodatabase using fiona. I would like to then pick a layer and use geopandas to extract the layer as a geodataframe:

import fiona

layers = fiona.listlayers(r'main_datasets/BRT/TOP10NL.gdb')

I get an error as follows:

fiona.errors.DriverError: Permission denied

I did the following:

  • Removed any .lock files which exist within the gdb
  • Tried opening other gdbs to see if I got the same error

Removing lock files in this particular gdb did not help. Strangely, the method in fiona successfully lists layers in other gdbs which don't have any notable differences (I checked in ArcCatalog and these are also FileGDB's as far as I can tell).

Why is this particular gdb giving me trouble? What could be causing the permission error?

1 Answer 1


I found the problem. That particular gdb contains .cdf files which means it is compressed. OGR cannot handle compressed gdbs. I had to uncompress the geodatabase using ArcMap first and was then able to read it using Fiona.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.