本教程旨在引见怎样运用七牛的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来上传文件照样很简朴的,接下来的教程,我们将在这个例子的基础上逐渐相识更多关于文件上传的学问。