對象存儲(chǔ)的存儲(chǔ)空間(Bucket)本身是扁平結(jié)構(gòu)的,并沒有文件夾或目錄的概念翩活。用戶可以通過在文件名里加
入”/“來模擬文件夾阱洪。在列舉的時(shí)候,則要設(shè)置delimiter參數(shù)(目錄分隔符)為"/"菠镇,并通過是否"在
CommonPrefixes"來判斷是否為文件夾冗荸。
例如 Bucket="lyz" 下的目錄結(jié)構(gòu)是這樣的
|--- lyzfile.txt
|--- dirname
|--- blog
|--- file1.txt
|--- file2.txt
|--- media
|--- file3.txt
|--- file4.txt
|--- file5.txt
列出桶l(fā)yz 下的 dirname 文件夾和文件
resp = s3_client.list_objects(Bucket="lyz",Delimiter='/',Prefix='dirname/')
print("文件夾列表")
for dir in resp.get("CommonPrefixes"):
print(dir.get("Prefix")
print("文件列表")
for file in resp.get("Contents"):
print(file.get("key"))
結(jié)果
文件夾列表
blog/
media/
文件列表
file5.txt