I have this code and I want only paths that end to a file without intermediate empty folders. For example:
data/folder1/folder2
data/folder1/folder3/folder4/file1.txt
data/folder5/file2.txt
From those paths I only want:
data/folder1/folder3/folder4/file1.txt
data/folder5/file2.txt
I am using this code but it gives me paths that end to directories as well:
subfolders = set()
current_path = None
result = await self.s3_client.list_objects(Bucket=bucket, Prefix=prefix)
objects = result.get("Contents")
try:
for obj in objects:
current_path = os.path.dirname(obj["Key"])
if current_path not in subfolders:
subfolders.add(current_path)
except Exception as exc:
print(f"Getting objects with prefix: {prefix} failed")
raise exc