diff --git a/gcsfs/core.py b/gcsfs/core.py index c029814c..786f9295 100644 --- a/gcsfs/core.py +++ b/gcsfs/core.py @@ -589,7 +589,19 @@ async def _list_objects(self, path, prefix="", versions=False, **kwargs): return [await self._get_object(path)] else: return [] - out = pseudodirs + items + dirty_out = pseudodirs + items + + out = [] + for entry in dirty_out: + if ( + entry["name"].rstrip("/") == path + and entry.get("kind", "") == "storage#object" + and (entry.get("size", "") == "0" or entry.get("size", "") == 0) + and entry.get("crc32c", "") == "AAAAAA==" + ): + # this is the "ghost" object of an empty folder, skip it + continue + out.append(entry) use_snapshot_listing = inventory_report_info and inventory_report_info.get( "use_snapshot_listing"