通過(guò)Python來(lái)使用七牛云存儲(chǔ)的方法詳解
本教程旨在介紹如何使用七牛的Python SDK來(lái)快速地進(jìn)行文件上傳,下載,處理,管理等工作。
安裝
首先,要使用Python的SDK必須要先安裝。七牛的Python SDK是開(kāi)源的,托管在Github上面,項(xiàng)目地址為https://github.com/qiniu/python-sdk。
安裝的方式可以如項(xiàng)目的說(shuō)明上所說(shuō),用pip install qiniu。當(dāng)然也可以直接clone一份源代碼下來(lái)直接使用。我一般喜歡直接clone源代碼,這樣的話,如果要對(duì)SDK做一些改動(dòng)也是十分容易的。
最新版本的Python SDK需要依賴requests庫(kù),所以要提前安裝好。安裝方式當(dāng)然也可以用pip install requests。
開(kāi)發(fā)環(huán)境
Python的開(kāi)發(fā)環(huán)境有很多種選擇,如果喜歡文本的方式,比如vim,emacs,sublime text等都是很好的選擇,如果你喜歡IDE,那么最流行的莫過(guò)于PyCharm了。PyCharm的最新版本到這里下載。
Access Key和Secret Key
我們知道七牛云存儲(chǔ)的權(quán)限校驗(yàn)機(jī)制基于一對(duì)密鑰,分別稱為Access Key和Secret Key。其中Access Key是公鑰,Secret Key是私鑰。這一對(duì)密鑰可以從七牛的后臺(tái)獲取。
小試牛刀
好了,做了上面的這些準(zhǔn)備工作,我們就去上傳一個(gè)簡(jiǎn)單的文件,練練手。
#coding=utf-8 __author__ = 'jemy' ''' 本例演示了一個(gè)簡(jiǎn)單的文件上傳。 這個(gè)例子里面,sdk根據(jù)文件的大小選擇是Form方式上傳還是分片上傳。 ''' import qiniu accessKey = "<Your Access Key>" secretKey = "<Your Secret Key>" #解析結(jié)果 def parseRet(retData, respInfo): if retData != None: print("Upload file success!") print("Hash: " + retData["hash"]) print("Key: " + retData["key"]) #檢查擴(kuò)展參數(shù) for k, v in retData.items(): if k[:2] == "x:": print(k + ":" + v) #檢查其他參數(shù) 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) #無(wú)key上傳,http請(qǐng)求中不指定key參數(shù) 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) #解析結(jié)果 parseRet(retData, respInfo) def main(): bucket = "if-pbl" filePath = "/Users/jemy/Documents/jemy.png" upload_without_key(bucket, filePath) if __name__ == "__main__": main()
運(yùn)行結(jié)果為:
Upload file success! Hash: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8 Key: Fp0XR6tM4yZmeiKXw7eZzmeyYsq8
從上面我們可以看到,使用七牛的Python SDK上傳文件的最基本的步驟是:
- 生成上傳憑證
- 上傳文件
- 解析回復(fù)結(jié)果
小結(jié)
綜上所述,其實(shí)使用七牛的SDK來(lái)上傳文件還是很簡(jiǎn)單的,接下來(lái)的教程,我們將在這個(gè)例子的基礎(chǔ)上逐步了解更多關(guān)于文件上傳的知識(shí)。
相關(guān)文章
Python中的數(shù)字類型與轉(zhuǎn)換技巧示例講解
這篇文章主要為大家介紹了Python中的數(shù)字類型與轉(zhuǎn)換技巧示例講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Python機(jī)器學(xué)習(xí)算法庫(kù)scikit-learn學(xué)習(xí)之決策樹(shù)實(shí)現(xiàn)方法詳解
這篇文章主要介紹了Python機(jī)器學(xué)習(xí)算法庫(kù)scikit-learn學(xué)習(xí)之決策樹(shù)實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了決策樹(shù)算法的原理及使用sklearn庫(kù)實(shí)現(xiàn)決策樹(shù)的相關(guān)操作技巧,需要的朋友可以參考下2019-07-07在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程
這篇文章主要介紹了在Debian下配置Python+Django+Nginx+uWSGI+MySQL的教程,Debian系統(tǒng)和Nginx服務(wù)器皆是高性能的選擇,需要的朋友可以參考下2015-04-04Pytorch卷積層手動(dòng)初始化權(quán)值的實(shí)例
今天小編就為大家分享一篇Pytorch卷積層手動(dòng)初始化權(quán)值的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-08-08