注意:我知道amazon存储桶没有文件夹的概念,但我为了简单起见使用了这个术语
所以我试图使用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
答案 0 :(得分:1)
听起来你想要压缩包含在文件夹中的所有文件的“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