Python 对阿里云(oss)的使用

阿里云对象存储服务(OSS)提供安全、低成本的数据存储。通过REST接口,可在任何时间、地点进行数据上传下载。这篇博客介绍了如何在阿里云官网购买OSS服务,并给出了Python操作OSS的实例代码。

什么是阿里云盘(阿里云对象存储服务(Object Storage Service,简称OSS))?

阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。您可以通过本文档提供的简单的REST接口,在任何时间、任何地点、任何互联网设备上进行上传和下载数据。基于OSS,您可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大规模数据的服务。 阿里云对象存储服务(Object Storage Service,简称OSS),是阿里云对外提供的海量、安全、低成本、高可靠的云存储服务。您可以通过本文档提供的简单的REST接口,在任何时间、任何地点、任何互联网设备上进行上传和下载数据。基于OSS,您可以搭建出各种多媒体分享网站、网盘、个人和企业数据备份等基于大规模数据的服务。

在阿里云官网,购买相关的服务,即可使用。 在阿里云官网,购买相关的服务,即可使用。

在这里插入图片描述

如下,先贴出python操作oos代码:


```python
//定义oss类
import requests
import oos2
class UPLOAD_FILE():
    def __init__(self,subfilename,key="your_key",password="your_password"):
        auth = oss2.Auth(key,password) //初始化
        self.bucket = oss2.Bucket(auth, "http://oss-cn-beijing.aliyuncs.com", "your_name")
        self.subfilename = subfilename# oss 路径# oss 路径
        print(self.subfilename)
    def upload_file(self,path_list=None,path=None,type='content',content_file=None,content_name=None):
        if path_list:
            list_file = os.listdir(path_list)
            for file in list_file:
                local_file = path_list + "\\" + "{}".format(file)
                osspath = self.subfilename + '/' + file
                print(osspath)
                self.up_file(osspath, local_file)
        elif path:
            osspath = self.subfilename + '/' +path.split('/')[-1]
            local_file = path
            self.up_file(osspath,local_file)
            return osspath
        elif type=='content':
            osspath = self.subfilename + '/' + content_name
            exist = self.bucket.object_exists(osspath)
            if exist:
                print("oss have files with the same name, ignore oss upload")
                return osspath
            else:
                self.bucket.put_object(osspath, content_file)
                print(" {} 上传成功".format(osspath))
                return osspath
        else:
            print("未指定路径")

    def up_file(self,osspath,local_file):
        # 先检测oss上是否有该文件
        exist = self.bucket.object_exists(osspath)
        if exist:
            print("oss have files with the same name, ignore oss upload")
        else:
            # 上传文件
            with open(local_file, "rb") as fileobj:
                result1 = self.bucket.put_object(osspath, fileobj)
                print("{} 上传成功".format(osspath))
            if int(result1.status) != 200:
                print("oss upload faild %s" % osspath)
//下载数据,操作oss类
def oss2_data(oss_class,datasurl,name):
    if datasurl:
        try:
            print(datasurl)
            res = requests.get(datasurl, timeout=5,verify=False)
            content_name = name
            content_file = res.content
            osspath = oss_class.upload_file(type='content', content_name=content_name, content_file=content_file)
            return osspath
        except Exception as e:
            print(e)
            return None
 
                
实例:
#初始化oss:
upload_class = UPLOAD_FILE(subfilename="mypic/exam")#初始化oss,创建mypic/exam目录

oss2_data(upload_class,'www.exam.jpg','exam.jpg')#下载www.eaam.jpg ,上次oss

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值