Skip to content

Commit 04553aa

Browse files
author
davis.zheng
committed
优化example_listobjects.py
1 parent 89dd9bc commit 04553aa

File tree

1 file changed

+18
-15
lines changed

1 file changed

+18
-15
lines changed

examples/example_listobjects.py

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,8 @@
1212
marker='' #返回以字母排序后,大于marker的目录文件列表
1313
delimiter='/' #delimiter是目录分隔符,当前只支持"/"和"",当Delimiter设置为"/"且prefiex以"/"结尾时,返回prefix目录下的子文件,当delimiter设置为""时,返回以prefix作为前缀的文件
1414

15-
ret, resp = listobjects_hander.listobjects(bucket, prefix=prefix, maxkeys=maxkeys, marker=marker, delimiter=delimiter)
16-
assert resp.status_code == 200
17-
18-
for object in ret['Contents']:#子文件列表
19-
print(object)
20-
21-
for object in ret['CommonPrefixes']:#子目录列表
22-
print(object)
23-
24-
# 根据返回值'NextMarker'循环遍历获得所有结果(若一次查询无法获得所有结果)
25-
while True:
15+
# 普通使用(一次查询即可得到所有结果)
16+
def once_list():
2617
ret, resp = listobjects_hander.listobjects(bucket, prefix=prefix, maxkeys=maxkeys, marker=marker, delimiter=delimiter)
2718
assert resp.status_code == 200
2819

@@ -31,7 +22,19 @@
3122

3223
for object in ret['CommonPrefixes']:#子目录列表
3324
print(object)
34-
35-
marker = ret['NextMarker']
36-
if len(marker) <= 0 or maxkeys < len(ret['Contents']):
37-
break
25+
26+
# 因为一次查询返回数量存在最大限制,所以若一次查询无法获得所有结果,则根据返回值'NextMarker'循环遍历获得所有结果
27+
def loop_list():
28+
while True:
29+
ret, resp = listobjects_hander.listobjects(bucket, prefix=prefix, maxkeys=maxkeys, marker=marker, delimiter=delimiter)
30+
assert resp.status_code == 200
31+
32+
for object in ret['Contents']:#子文件列表
33+
print(object)
34+
35+
for object in ret['CommonPrefixes']:#子目录列表
36+
print(object)
37+
38+
marker = ret['NextMarker']
39+
if len(marker) <= 0 or maxkeys < len(ret['Contents']):
40+
break

0 commit comments

Comments
 (0)