使用说明
- 获取存储空间(Bucket)中指定文件前缀的文件列表。
函数说明
getfilelist
(bucket, prefix=None, marker=None, limit=None, header=None)
获取bucket下的文件列表
Parameters
- bucket – string 类型,空间名称
- prefix – string 类型,文件前缀, 默认为空字符串
- marker – string 类型,文件列表起始位置, 默认为空字符串
- limit – integer 类型,文件列表数目, 默认为20
- header – dict类型,http 请求header,键值对类型分别为string,比如{'User-Agent': 'Google Chrome'}
Returns
- ret: 如果http状态码为[200, 204, 206]之一则返回None,否则如果服务器返回json信息则返回dict类型,键值对类型分别为string, unicode string类型,否则返回空的dict
- ResponseInfo: 响应的具体信息,UCloud UFile 服务器返回信息或者网络链接异常
ResponseInfo Elements
Name | Type | Description |
---|---|---|
BucketName | String | Bucket的名称 |
BucketId | String | Bucket的ID |
NextMarker | String | 下一个标志字符串,utf-8编码 |
DataSet | Array | 文件列表 |
DataSet Item
Name | Type | Description |
---|---|---|
BucketName | String | 文件所属Bucket名称 |
FileName | String | 文件名称,utf-8编码 |
Hash | String | 文件hash值 |
MimeType | Array | 文件mimetype |
Size | Integer | 文件大小 |
CreateTime | Integer | 文件创建时间 |
ModifyTime | Integer | 文件修改时间 |
StorageClass | String | 文件存储类型,分别是标准、低频、归档,对应有效值:STANDARD, IA, ARCHIVE |
代码示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public_key = '' #账户公钥
private_key = '' #账户私钥
bucket = '' #空间名称
from ufile import filemanager
getfilelist_hander = filemanager.FileManager(public_key, private_key)
prefix='' #文件前缀
limit=10 #文件列表数目
marker='' #返回以字母排序后,大于marker的文件列表
ret, resp = getfilelist_hander.getfilelist(bucket, prefix=prefix, limit=limit, marker=marker)
assert resp.status_code == 200
for object in ret["DataSet"]:
print(object)
# 根据返回值'NextMarker'循环遍历获得所有结果(若一次查询无法获得所有结果)
while True:
ret, resp = getfilelist_hander.getfilelist(bucket, prefix=prefix, limit=limit, marker=marker)
assert resp.status_code == 200
for object in ret["DataSet"]:#
print(object)
marker = ret['NextMarker']
if len(marker) <= 0 or len(ret['DataSet']) < limit:
break
PREVIOUS比较本地文件和远程文件etag
NEXT获取目录文件列表