python分片上传_python上传文件到oss
基础环境
# +++++ 阿里云OSS开发指南里都有详细的步骤,在这里整理了一下自己需要的东西
# 确定开发环境,centOS默认安装了python2.7
# python -V
# 安装python开发包
# yum install -y python-devel
# 安装OSS的sdk
# yum install -y python-pip
# pip2.7 install oss2
# 验证oss2是否安装正确
'''
>>> import oss2
>>> oss2.__version__
'2.6.0'
'''
# 验证OSS扩展库crcmod是否安装
'''
在python环境中,输入一下内容,如果有错误信息,则说明扩展库安装不成功,默认安装oss2的时候会安装扩展库
>>> import crcmod._crcfunext
如果出现安装不成功,则按一下步骤安装:
1、执行以下命令卸载crcmod
# pip uninstall crcmod
2、安装python-devel
3、执行以下命令重新安装crcmod
# pip install crcmod
'''
小文件上传
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import oss2
import os
# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('', '')
# Endpoint以杭州为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '')
# 必须以二进制的方式打开文件,因为需要知道文件包含的字节数。with open('', 'rb') as fileobj:
# Seek方法用于指定从第1000个字节位置开始读写。上传时会从您指定的第1000个字节位置开始上传,直到文件结束。
fileobj.seek(1000, os.SEEK_SET)
# Tell方法用于返回当前位置。
current = fileobj.tell()
bucket.put_object('', fileobj)
分片上传
# -*- coding: utf-8 -*-import os
from oss2 import SizedFileAdapter, determine_part_size
from oss2.models import PartInfo
import oss2
# 阿里云主账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM账号进行API访问或日常运维,请登录 https://ram.console.aliyun.com 创建RAM账号。
auth = oss2.Auth('', '')
# Endpoint以杭州为例,其它Region请按实际情况填写。
bucket = oss2.Bucket(auth, 'http://oss-cn-hangzhou.aliyuncs.com', '')
key = ''
filename = ''
total_size = os.path.getsize(filename)
# determine_part_size方法用来确定分片大小。
part_size = determine_part_size(total_size, preferred_size=100 * 1024)
# 初始化分片。
upload_id = bucket.init_multipart_upload(key).upload_id
parts = []
# 逐个上传分片。with open(filename, 'rb') as fileobj:
part_number = 1
offset = 0
while offset < total_size:
num_to_upload = min(part_size, total_size - offset)
# SizedFileAdapter(fileobj, size)方法会生成一个新的文件对象,重新计算起始追加位置。
result = bucket.upload_part(key, upload_id, part_number,
SizedFileAdapter(fileobj, num_to_upload))
parts.append(PartInfo(part_number, result.etag))
offset += num_to_upload
part_number += 1
# 完成分片上传。
bucket.complete_multipart_upload(key, upload_id, parts)
# 验证分片上传。with open(filename, 'rb') as fileobj:
assert bucket.get_object(key).read() == fileobj.read()
python分片上传_python上传文件到oss相关推荐
- python 大文件分片上传_Python实现大文件分片上传
转载请注明出处:http://blog.csdn.net/jinixin/article/details/77545140 引言想借着这篇文章简要谈谈WebUploader大文件上传与Python结合 ...
- python 解析xml格式_Python解析XML文件
1.概述 Python有三种方法解析XML:SAX,DOM,以及ElementTree: 1.SAX (simple API for XML ) python 标准库包含SAX解析器,SAX用事件驱动 ...
- excel数据导入python后不对齐_Python处理Excel文件的实用姿势
真正的勇士,敢于直面银行卡上的余额,敢于正视磅秤上的数字. 表格数据是最常见的数据类型,Excel是日常办公中最常接触的文件. 上一章提过Python可以通过openpyxl模块处理Excel文件. ...
- python 批量下载依赖_python通过txt文件批量安装依赖包的实现步骤
python通过txt文件批量安装依赖包的实现步骤 如果要用某个开源框架,需要安装多个依赖包可以如下操作: 如依赖文件形式如下(可以不要版本号): txt文件名为requirements.txt,内容 ...
- python文件目录无权限_python检查目录文件权限并修改目录文件权限的操作
我就废话不多说了,还是直接看代码吧! # -*- coding: utf-8 -*- # @author flynetcn import sys, os, pwd, stat, datetime; L ...
- python十以内加减法_python生成PDF文件20以内加减法,给上小学的宝宝
# -*- coding: utf-8 -*- import random from reportlab import platypus from reportlab.lib.units import ...
- python如何运行代码_python上怎么跑(运行)代码
有朋友刚刚学Python,打开Python之后输入打印hello world的语句之后不知道该咋办了,怎么才能将Python代码跑起来呢?下面我将给大家介绍几种方法. 接下来介绍几种运行python代 ...
- python做二元线性回归_python上的二元线性回归
除了前面的优秀答案外,这里还有一个图形装配器,它有一个3d散点图.3d曲面图和一个等高线图. import numpy, scipy, scipy.optimize import matplotlib ...
- python print(len(pi_string))_Python如何从文件中读取数据
从文件中读取数据 1. 读取整个文件 要读取文件,首先来创建一个文件: 然后打开并读取这个文件,再将其内容显示到屏幕上:file_reader.py with open('pi_digits.txt' ...
最新文章
- Svchost.exe病毒
- BarTender安装常见问题集结
- 简介I/O向量、sendv、writev
- 251f与ips屏显示器对比_不闪屏,HDR,带鱼屏全都有,LG 29WK600宽屏显示器测评
- SAP Cloud for Customer Cloud Application Studio的Trace功能
- 全国计算机等级考试职称,全国职称计算机考试与全国计算机等级考试有什么不同?...
- 微信小程序横版日历,tab栏
- Camtasia混音教程
- cocos2d cocostudio
- vsftpd配置详解
- 企业网站建设能带来的7大好处
- FFmpeg码率控制及内置编码参数介绍
- Windows 自带计算器的使用
- Windows远程桌面连接Mac OS X
- 康考迪亚大学应用计算机科学,康考迪亚大学专业设置
- 扫地机器人作文说明文提纲_扫地机器人说明文600字
- One PUNCH Man——特征选择
- 【设计模式2_工厂模式、策略模式】
- Linux查主板槽位使用情况,linux下查看主板内存槽与内存信息
- CF 221 C Circling Round Treasures - dp - 状压