作者:窝窝六六柒柒巴巴 | 来源:互联网 | 2023-08-20 20:00
本教程旨在引见怎样运用七牛的PythonSDK来疾速地举行文件上传,下载,处置惩罚,治理等事情。装置起首,要运用Python的SDK必须要先装置。七牛的PythonSDK是开源的,
本教程旨在引见怎样运用七牛的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来上传文件照样很简朴的,接下来的教程,我们将在这个例子的基础上逐渐相识更多关于文件上传的学问。