本教程旨在介绍如何使用七牛的Python SDK来快速地进行文件上传,下载,处理,管理等工作。

安装

首先,要使用Python的SDK必须要先安装。七牛的Python SDK是开源的,托管在Github上面,项目地址为https://github.com/qiniu/python-sdk。

安装的方式可以如项目的说明上所说,用pip install qiniu。当然也可以直接clone一份源代码下来直接使用。我一般喜欢直接clone源代码,这样的话,如果要对SDK做一些改动也是十分容易的。

最新版本的Python SDK需要依赖requests库,所以要提前安装好。安装方式当然也可以用pip install requests。

开发环境

Python的开发环境有很多种选择,如果喜欢文本的方式,比如vim,emacs,sublime text等都是很好的选择,如果你喜欢IDE,那么最流行的莫过于PyCharm了。PyCharm的最新版本到这里下载。

Access Key和Secret Key

我们知道七牛云存储的权限校验机制基于一对密钥,分别称为Access Key和Secret Key。其中Access Key是公钥,Secret Key是私钥。这一对密钥可以从七牛的后台获取。

小试牛刀

好了,做了上面的这些准备工作,我们就去上传一个简单的文件,练练手。

python#coding=utf-8

__author__ = 'jemy'

'''

本例演示了一个简单的文件上传。

这个例子里面,sdk根据文件的大小选择是Form方式上传还是分片上传。

'''

import qiniu

accessKey = ""

secretKey = ""

#解析结果

def parseRet(retData, respInfo):

if retData != None:

print("Upload file success!")

print("Hash: " + retData["hash"])

print("Key: " + retData["key"])

#检查扩展参数

for k, v in retData.items():

if k[:2] == "x:":

print(k + ":" + v)

#检查其他参数

for k, v in retData.items():

if k[:2] == "x:" or k == "hash" or k == "key":

continue

else:

print(k + ":" + str(v))

else:

print("Upload file failed!")

print("Error: " + respInfo.text_body)

#无key上传,http请求中不指定key参数

def upload_without_key(bucket, filePath):

#生成上传凭证

auth = qiniu.Auth(accessKey, secretKey)

upToken = auth.upload_token(bucket, key=None)

#上传文件

retData, respInfo = qiniu.put_file(upToken, None, filePath)

#解析结果

parseRet(retData, respInfo)

def main():

bucket = "if-pbl"

filePath = "/Users/jemy/Documents/jemy.png"

upload_without_key(bucket, filePath)

if __name__ == "__main__":

main()

运行结果为:

Upload file success!

Hash: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8

Key: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8

从上面我们可以看到,使用七牛的Python SDK上传文件的最基本的步骤是:

生成上传凭证

上传文件

解析回复结果

小结

综上所述,其实使用七牛的SDK来上传文件还是很简单的,接下来的教程,我们将在这个例子的基础上逐步了解更多关于文件上传的知识。

python如何使用sdk_七牛云存储Python SDK使用教程 - 基本介绍相关推荐

  1. 七牛云存储Python SDK使用教程 - 上传策略详解

    本教程旨在介绍如何使用七牛的Python SDK来快速地进行文件上传,下载,处理,管理等工作. 前言 我们在上面的两节中了解到,客户端上传文件时,需要从业务服务器申请一个上传凭证(Upload Tok ...

  2. 使用七牛云存储解决ios7.1的app部署问题 https

    2019独角兽企业重金招聘Python工程师标准>>> 使用七牛云存储解决ios7.1的app部署问题 一.问题描述 开发完iOS版本的app.需要将.ipa文件和.plist文件打 ...

  3. python教程七牛云_通过Python来使用七牛云存储的方法详解

    本教程旨在介绍如何使用七牛的Python SDK来快速地进行文件上传,下载,处理,管理等工作. 安装 首先,要使用Python的SDK必须要先安装.七牛的Python SDK是开源的,托管在Githu ...

  4. ueditor与七牛云存储结合

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:  ueditor与七牛云存储结合,主要是表单api. ueditor上传图片到七牛云存储 ueditor结合七牛传图片 ...

  5. wordpress使用二级域名绑定七牛云存储做图片存储站

    2019独角兽企业重金招聘Python工程师标准>>> wordpress使用二级域名绑定七牛云存储做图片存储站 一般个人博客站的空间都不是太大,如果博客中有许多图片的话就要购买更大 ...

  6. linux 自动保存网页,Linux 定时备份网站数据至七牛云存储

    网站数据是站长的命根子,所以每日备份就很重要.如果你没有FTP空间,可以申请一个七牛云存储,免费10G空间备份一般的小站足够了.这里介绍一个备份网站文件和数据库到七牛的脚本,实测效果还不错,Linux ...

  7. Flask项目中应用七牛云存储

    七牛云存储:     https://developer.qiniu.com/kodo/sdk/1242/python 点击注册开通七牛开发者帐号     如果已有账号,直接登录七牛开发者后台,点击这 ...

  8. linux定时备份网站发布目录,Linux 定时备份网站文件至七牛云存储 | 厘米天空

    网站数据是站长的命根子,所以每日备份就很重要.如果你没有FTP空间,可以申请一个七牛云存储,免费10G空间备份一般的小站足够了.这里介绍一个备份网站文件和数据库到七牛的脚本,实测效果还不错,Linux ...

  9. 七牛云存储——许式伟

    2019独角兽企业重金招聘Python工程师标准>>> [eoe专访]七牛云储存创始人:揭开GO语言的神秘面纱  作者:  小白的白  来源: eoe  标签:  Go语言揭秘  ...

最新文章

  1. case when判断大于某值_Python 代码判断逻辑太复杂?这里有几条最佳实践和技巧...
  2. c# 学习笔记 (3) 窗体单例模式
  3. 二叉树的序列化和反序列化
  4. pytorch制作CNN的类印象图 class impression(类别生成图)及生成对抗攻击样本
  5. C语言学习之分别用while、for 编写程序,计算2*4*6*......*100的值
  6. 视频:PNAS报道纤维化扩展中“旁张力信号”介导的细胞间机械通讯
  7. mysql pxc启动_Percona XtraDB Cluster(PXC) 无法正常启动
  8. 攀枝花学院计算机专业单身率,重磅 | 攀枝花学院2018届毕业生就业质量年度报告...
  9. android镊 姩瀹夎 apk,用java寫的jodconverter借用openoffice來轉換office成pdf的示例代碼...
  10. html生成pdf java_java 中实现HTML 生成pdf
  11. 计算机控制技术廖道争答案,2017年三峡大学电气与新能源学院专业目录及考试科目...
  12. 中国第一家区块链形式化验证公司获种子轮投资
  13. 网易游戏大咖分享——游戏行业职位发展(上)
  14. android开机卡logo,logcat怎么抓log
  15. python api文档生成二维码_使用Python第三方库生成二维码
  16. 两两组合工具之itertools
  17. Firefox数据采集插件大全
  18. 怎么用matlab保存音频文件,Matlab用图片和音频藏文件(续)
  19. linux系统命令打不出字,常用的命令 linux
  20. 位图文件, JPG格式,PNG格式

热门文章

  1. Linux下VSCode的安装和使用(VScode C/C++配置 CMake的使用)(GCC、GDB)(各类插件 Snippets、Code Runner、Include Autocomplete)
  2. 怎么查看电脑多少内核和多少逻辑处理器?
  3. 实战网页布局心得(一)
  4. 90%的程序员都写错的算法-二分查找万能模版
  5. Java使用BTrace动态替换线上class文件
  6. 一年级大括号问题专项训练_一年级小学生自信满满地交了试卷,以为会考满分,结果很打脸...
  7. 戴尔5598安装系统流程
  8. VS2017 按ctrl+f5执行程序窗口依然一闪而过的问题(图文)
  9. 华为光猫鉴权解密逆向
  10. php tinyme_黄聪:TinyMCE 4 增强 添加样式、按钮、字体、下拉菜单和弹出式窗口