七牛雲存儲Python SDK使用教程 - 基本介紹

本教程旨在介紹如何使用七牛的Python SDK來快速地進行文件上傳,下載,處理,管理等工做。python

安裝

首先,要使用Python的SDK必需要先安裝。七牛的Python SDK是開源的,託管在Github上面,項目地址爲https://github.com/qiniu/python-sdkgit

安裝的方式能夠如項目的說明上所說,用pip install qiniu。固然也能夠直接clone一份源代碼下來直接使用。我通常喜歡直接clone源代碼,這樣的話,若是要對SDK作一些改動也是十分容易的。github

最新版本的Python SDK須要依賴requests庫,因此要提早安裝好。安裝方式固然也能夠用pip install requestsvim

開發環境

Python的開發環境有不少種選擇,若是喜歡文本的方式,好比vim,emacs,sublime text等都是很好的選擇,若是你喜歡IDE,那麼最流行的莫過於PyCharm了。PyCharm的最新版本到這裏下載。七牛雲存儲

Access Key和Secret Key

咱們知道七牛雲存儲的權限校驗機制基於一對密鑰,分別稱爲Access KeySecret Key。其中Access Key是公鑰,Secret Key是私鑰。這一對密鑰能夠從七牛的後臺獲取。
AK SKspa

小試牛刀

好了,作了上面的這些準備工做,咱們就去上傳一個簡單的文件,練練手。code

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()

運行結果爲:orm

Upload file success!
Hash: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8
Key: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8

從上面咱們能夠看到,使用七牛的Python SDK上傳文件的最基本的步驟是:blog

  1. 生成上傳憑證
  2. 上傳文件
  3. 解析回覆結果

小結

綜上所述,其實使用七牛的SDK來上傳文件仍是很簡單的,接下來的教程,咱們將在這個例子的基礎上逐步瞭解更多關於文件上傳的知識。教程

相關文章
相關標籤/搜索