又拍云云存储python上传脚本实战
注册又拍云账号
注册可以点击我《《,注册完并且实名,加入又拍云联盟可以有免费一个月10G云存储使用
使用又拍云api接口
- 点击创建服务
- 创建一个新的授权操作员
使用python脚本实现上传
- cat push_file_to_upyun.py
# -*- coding: utf-8 -*-
import upyun,sys
from upyun import FileStore
from upyun import print_reporter
# 并行上传
if len(sys.argv) != 3:
print("输入错误")
print("例子:python2.7 push_file_to_upyun.py showdoc 20220417-html.tar.gz")
sys.exit(2)
# 需要填写自己的存储服务名,操作员名,密码
service = ""
username = ""
password = ""
# 需要填写上传文件的本地路径和云存储路径
local_file = "/data/backup/" + sys.argv[2]
remote_file = sys.argv[1] + '/' + sys.argv[2]
up = upyun.UpYun(service, username, password, timeout=30, endpoint=upyun.ED_AUTO)
# created iterator of file
def file_iterator(file):
with open(file, 'rb') as f:
while True:
chunk_data = f.read(10*1024*1024) # block size
if chunk_data == b'':
break
yield chunk_data
uploader = up.init_multi_uploader(remote_file,
part_size=10*1024*1024, # block_size 分片大小10M
headers={'X-Upyun-Multi-Type':'application/octet-stream'},
) # 上传文件的 MIME 类型,默认 application/octet-stream,建议自行设置。
i = 0
for chunk_data in file_iterator(local_file):
uploader.upload(i, chunk_data)
i += 1
else:
res = uploader.complete()
print("Done!")
说明:
service = "" #对应服务名
username = "" ##操作员
password = "" ##密码
使用说明
- 在/data/backup 目录下放文件
- 执行 python2.7 push_file_to_upyun.py showdoc 20220417-html.tar.gz
- showdoc --》远程分级目录,自动创建
- 20220417-html.tar.gz --》 本地/data/backup的文件
相关文章
暂无评论...