Package: qcloud_cos_v4
介绍腾讯云COSv4的Python SDK, 目前可以支持Python2.6与Python2.7。安装指南使用pip安装pip install -U qcloud_cos_v4手动安装:python setup.py install使用方法使用python sdk，参照sample.py# 设置用户属性, 包括appid, secret_id和secret_key# 这些属性可以在cos控制台获取(https://console.qcloud.com/cos)appid=100000# 替换为用户的appidsecret_id=u'xxxxxxxx'# 替换为用户的secret_idsecret_key=u'xxxxxxx'# 替换为用户的secret_keyregion_info="sh"#           # 替换为用户的region，目前可以为 sh/gz/tj/sgp，分别对应于上海，广州，天津,新加坡园区cos_client=CosClient(appid,secret_id,secret_key,region=region_info)# 设置要操作的bucketbucket=u'mybucket'############################################################################# 文件操作                                                                 ############################################################################## 1. 上传文件(默认不覆盖)#    将本地的local_file_1.txt上传到bucket的根分区下,并命名为sample_file.txt#    默认不覆盖, 如果cos上文件存在,则会返回错误request=UploadFileRequest(bucket,u'/sample_file.txt',u'local_file_1.txt')upload_file_ret=cos_client.upload_file(request)print'upload file ret:',repr(upload_file_ret)# 2. 上传文件(覆盖文件)# 2.1上传本地文件，将本地的local_file_2.txt上传到bucket的根分区下,覆盖已上传的sample_file.txtrequest=UploadFileRequest(bucket,u'/sample_file.txt',u'local_file_2.txt')request.set_insert_only(0)# 设置允许覆盖upload_file_ret=cos_client.upload_file(request)print'overwrite file ret:',repr(upload_file_ret)# 2.2从内存上传文件request=UploadFileFromBufferRequest(bucket,u'/sample_file.txt',data)request.set_insert_only(0)# 设置允许覆盖upload_file_ret=cos_client.upload_file_from_buffer(request)print'overwrite file ret:',repr(upload_file_ret)# 3. 获取文件属性request=StatFileRequest(bucket,u'/sample_file.txt')stat_file_ret=cos_client.stat_file(request)print'stat file ret:',repr(stat_file_ret)# 4. 更新文件属性request=UpdateFileRequest(bucket,u'/sample_file.txt')request.set_biz_attr(u'this is demo file')# 设置文件biz_attr属性,不支持中文request.set_authority(u'eWRPrivate')# 设置文件的权限request.set_cache_control(u'cache_xxx')# 设置Cache-Controlrequest.set_content_type(u'application/text')# 设置Content-Typerequest.set_content_disposition(u'ccccxxx.txt')# 设置Content-Dispositionrequest.set_content_language(u'english')# 设置Content-Languagerequest.set_x_cos_meta(u'x-cos-meta-xxx',u'xxx')# 设置自定义的x-cos-meta-属性request.set_x_cos_meta(u'x-cos-meta-yyy',u'yyy')# 设置自定义的x-cos-meta-属性update_file_ret=cos_client.update_file(request)print'update file ret:',repr(update_file_ret)# 5. 更新后再次获取文件属性request=StatFileRequest(bucket,u'/sample_file.txt')stat_file_ret=cos_client.stat_file(request)print'stat file ret:',repr(stat_file_ret)# 6. 移动文件, 将sample_file.txt移动位sample_file_move.txtrequest=MoveFileRequest(bucket,u'/sample_file.txt',u'/sample_file_move.txt')stat_file_ret=cos_client.move_file(request)print'move file ret:',repr(stat_file_ret)# 7. 删除文件request=DelFileRequest(bucket,u'/sample_file_move.txt')del_ret=cos_client.del_file(request)print'del file ret:',repr(del_ret)# 8. 下载文件request=DownloadFileRequest(bucket,u'/sample_file_move.txt')del_ret=cos_client.download_file(request)print'del file ret:',repr(del_ret)# 9. 下载文件到内存request=DownloadObjectRequest(bucket,u'/sample_file_move.txt')fp=cos_client.download_object(request)fp.read()############################################################################# 目录操作                                                                 ############################################################################## 1. 生成目录, 目录名为sample_folderrequest=CreateFolderRequest(bucket,u'/sample_folder/')create_folder_ret=cos_client.create_folder(request)print'create folder ret:',create_folder_ret# 2. 更新目录的biz_attr属性request=UpdateFolderRequest(bucket,u'/sample_folder/',u'this is a test folder')# biz_attr不支持中文update_folder_ret=cos_client.update_folder(request)print'update folder ret:',repr(update_folder_ret)# 3. 获取目录属性request=StatFolderRequest(bucket,u'/sample_folder/')stat_folder_ret=cos_client.stat_folder(request)print'stat folder ret:',repr(stat_folder_ret)# 4. list目录, 获取目录下的成员request=ListFolderRequest(bucket,u'/sample_folder/')list_folder_ret=cos_client.list_folder(request)print'list folder ret:',repr(list_folder_ret)# 5. 删除目录request=DelFolderRequest(bucket,u'/sample_folder/')delete_folder_ret=cos_client.del_folder(request)print'delete folder ret:',repr(delete_folder_ret)