七牛上传文件到云存储空间,自动调用

python sdk

 

https://developer.qiniu.com/kodo/sdk/1242/python

 

 


 

安装七牛的包:

 

pip install qiniu

easy_install qiniu

 

 


 

 

#从Python SDK 下载地址下载源码
tar xvzf python-sdk-$VERSION.tar.gz
cd python-sdk-$VERSION
python setup.py install

 


 

# -*- coding: utf-8 -*-
# flake8: noqa

from qiniu import Auth, put_file, etag
import qiniu.config

#需要填写你的 Access Key 和 Secret Key
access_key = 'Access_Key'
secret_key = 'Secret_Key'

#构建鉴权对象
q = Auth(access_key, secret_key)

#要上传的空间
bucket_name = 'Bucket_Name'

#上传后保存的文件名
key = 'my-python-logo.png'

#生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name, key, 3600)

#要上传文件的本地路径
localfile = './sync/bbb.jpg'

ret, info = put_file(token, key, localfile)
print(info)
assert ret['key'] == key
assert ret['hash'] == etag(localfile)

 

 


 

优化后的代码

根据自己自定义的目录,进行上传文件下的文件名,自动生成:

# flake8: noqmea

from qiniu import Auth, put_file, etag
import qiniu.config
import os

 

#需要填写你的 Access Key 和 Secret Key
access_key = 'XXXXXXXXXXXXXXXXXXXXX'
secret_key = 'C3XCXXXXXXXXXXXXXXXX8'


#构建鉴权对象

q = Auth(access_key, secret_key)
#要上传的空间
bucket_name = 'qa-store-image'


#上传后保存的文件名
#获取文件夹下的文件名,获取第一个文件名
file_name=os.listdir('/usr/local/src/test/')[0]
key = file_name

file_dir=os.path.join('/usr/local/src/test/',file_name)

 


#生成上传 Token,可以指定过期时间等
token = q.upload_token(bucket_name,key,3600)
#要上传文件的本地路径
localfile = file_dir

ret, info = put_file(token,key,localfile)

print(info)

assert ret['key'] == key
assert ret['hash'] == etag(localfile)

 


参考文档:

https://developer.qiniu.com/kodo/sdk/1242/python

 

posted @ 2019-04-28 18:34  zhouyuqiang  阅读(699)  评论(0编辑  收藏  举报