在 S3 存储桶中的文件和文件夹之间分类 -Python

Classify between files and fodler in S3 bucket -Python

注意:我知道amazon buckets没有文件夹的概念,但为了简单起见,我使用这个术语

所以我正在尝试使用 boto 列出我的 s3 存储桶中的文件。使用起来相当简单:

for files in bucket.list():
            print files.name

其中列出了这样的输出

file1
file2
file3
test_folder/file4
test_folder/file5

这里如何区分文件和文件夹?我只想列出文件,然后只列出文件夹 test_folder 一次。

正在寻找这样的东西:

File:s
    file1
    file2
    file3
Folders:
    test_folder

听起来您想抑制文件夹中包含的所有文件(即文件名中带有“/”字符的文件)的 "Files:" 输出,然后分别打印出不同的文件夹名称在末尾。如果是这样,这样的事情怎么样:

print "Files: "
folders = set()
for files in bucket.list():
  if '/' not in files.name:
    print "\t", files.name
  else:
    folders.add(files.name[:files.name.rfind('/')])

print "Folders: "
for folder in folders:
  print "\t", folder