七牛云存储Python SDK使用教程 - 基本介绍
2015-01-07 17:23
435 查看
本教程旨在介绍如何使用七牛的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 = "<Your Access Key>" secretKey = "<Your Secret Key>" #解析结果 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使用教程 - 上传策略详解
- Python开发环境Wing IDE使用教程:部分调试功能介绍
- python paste介绍和使用教程
- ShaderWeaver使用教程-基本操作介绍
- Python学习笔记-模块介绍(一)-模块概念和基本使用
- IntelliJ IDEA使用教程一 介绍&安装&基本配置
- Python中__slots__属性介绍与基本使用方法
- SQLite的基本使用介绍【教程5--图解】
- Python的Urllib库的基本使用教程
- Python程序中用csv模块来操作csv文件的基本使用教程
- python 使用教程(基本数据类型)
- Fiddler抓包使用教程-基本功能介绍
- python入门基础教程03 Python开发环境基本使用
- Python学习入门基础教程(learning Python)--1.2.1 Python输出语句print基本使用 .
- Python使用BeautifulSoup库解析HTML基本使用教程
- AWS Python SDK boto3中的基本概念与使用方法
- Python程序中用csv模块来操作csv文件的基本使用教程
- IntelliJ IDEA使用教程一 介绍&安装&基本配置
- Python使用SocketServer模块编写基本服务器程序的教程