首页 > 编程语言 >python minio

python minio

时间:2024-04-19 17:22:41浏览次数:12  
标签:minio python object bucket client objects barrel name

from minio import Minio

file_name = '3e09ca66d9444906935b0171e26891f1.mp4'
file_path = r'E:\集成资料\视频素材'
barrel = "testdata"


def upload_file():
    # 创建minio客户端
    client = Minio(endpoint="xxx.xxx.xxx.xxx:xxxxx",
                   access_key='xxxxx',
                   secret_key='xxxxx',
                   secure=False  # 使用http
                   )
    # 创建桶
    client.make_bucket(bucket_name=barrel)

    # 删除桶
    client.remove_bucket(barrel)

    # 获取桶列表
    barrel_list = client.list_buckets()
    print(barrel_list)

    # 获取桶中的数据信息,不查子文件夹中的数据
    bucket_objects = client.list_objects(barrel)
    for bucket_object in bucket_objects:
        print(bucket_object.object_name)

    # 列出名称以1-4开头的数据信息
    bucket_objects = client.list_objects(barrel, prefix="1-4")
    for bucket_object in bucket_objects:
        print(bucket_object)

    # 递归遍历桶中的数据信息,读取子文件夹下的文件
    bucket_objects = client.list_objects(barrel, recursive=True)
    for bucket_object in bucket_objects:
        print(bucket_object.object_name)

    # 递归查找以/data开头的数据信息
    data = list()
    for root in ["/data1"]:
        bucket_objects = client.list_objects(barrel, prefix=root, recursive=True)
        for bucket_object in bucket_objects:
            data.append(bucket_object.object_name)
            # print(bucket_object.object_name)
    print(len(data))

    # 递归查找以data1同一层级的数据信息
    bucket_objects = client.list_objects(barrel, recursive=True, start_after="data1")
    for bucket_object in bucket_objects:
        print(bucket_object.object_name)

    # 上传文件, bucket_name: 桶名称, object_name:上传到桶中完整的文件路径, file_path:文件本地所在完整路径
    result = client.fput_object(bucket_name=barrel, object_name="data1/" + file_name,
    file_path=file_path + "/" + file_name)
    print(result.object_name, result.bucket_name, result.etag)

    # 下载文件,bucket_name: 桶名称, object_name:被下载文件完整路径, file_path:保存到本地的完整路径
    result = client.fget_object(bucket_name=barrel, object_name="data1/60719d5c50e833d4fa8af3b7412d40000a2.jpg",
                                file_path=r"E:\集成资料\测试项目\minio\1.jpg")
    print(result.object_name, result.content_type, result.owner_name)

    # 判断桶是否存在
    check_bucket = client.bucket_exists(barrel)
    if not check_bucket:  # 不存在则创建桶
        client.make_bucket(barrel)


if __name__ == '__main__':
    upload_file()

 

标签:minio,python,object,bucket,client,objects,barrel,name
From: https://www.cnblogs.com/qxh-beijing2016/p/18146471

相关文章

  • Effective Python:第8条 用zip函数同时遍历两个迭代器
    用Python内置的zip函数来实现。这个函数能把两个或更多的iterator封装成惰性生成器(lazygenerator)。每次循环时,它会分别从这些迭代器里获取各自的下一个元素,并把这些值放在一个元组里面。names=["Cecilia","Lise","Marie"]counts=[len(n)forninnames]max_count=......
  • python tornado简易ws聊天室测试
    #-*-coding:utf-8-*-from__future__importunicode_literals,print_functionfromdatetimeimportdatetimeimporttornadofromtornado.optionsimportdefine,optionsfromtornado.websocketimportWebSocketHandler#设置服务器端口define("port",de......
  • python 获取文件夹下所有fbx文件的名字并保存到txt文件中
    代码:importosdefget_fbx_files_and_write_to_txt(folder_path,output_file_path):fbx_files=[]#遍历指定文件夹中的所有文件foriteminos.listdir(folder_path):item_path=os.path.join(folder_path,item)#检查是否为文件,并且......
  • 如何用Python构建一个生产级别的电影推荐系统 - 机器学习手册
    构建项目是彻底学习概念并发展必要技能的最有效方式之一。项目使您沉浸在现实世界的问题解决中,巩固您的知识,并培养批判性思维、适应能力和项目管理专业知识。本指南将带您逐步构建一个根据用户喜好量身定制的电影推荐系统。我们将利用一个庞大的包含10,000部电影的数据集作为......
  • 【百川大模型】RediSearch在python中的应用场景
    [本文出自天外归云的博客园]RediSearch是一个非常强大的全文搜索引擎,它可以与Python一起使用,为你的应用程序提供快速的搜索能力。以下是一些使用RediSearch的场景示例:场景一:商品搜索假设你正在开发一个电子商务网站,你需要为用户提供一个搜索框,让他们能够快速找到他们想要的商品......
  • 【小提示】指定Python版本以消除运行Ansible时显示的警告
    我正在编写Ansible手册来设置Mac。当我运行它时,我收到警告,所以我会调查它并分享我解决的问题。你好。我是AmazonWebServices团队的Sureing。最近,我的Mac键盘无法正常工作,我把它修好了。在此期间,将提供替换设备,但设置为默认设置。您可以手动更改设置,但让我们使用Ansible......
  • python基础之-sys模块、os模块基本介绍(未完成)
    背景介绍在自动化脚本中,经常会用到类似:sys.argv[1]和os.getenv("id")两种方式进行传参,为了便于区分,鉴于自己的理解进行一定记录,后续将继续补充。基本介绍一、sys模块它的很多属性描述程序的执行环境,是python的基础模块。*sys.argv:实现从程序外部向程序传递参数。*sys.a......
  • python使用pip安装模块出错 Retrying (Retry(total=0, connect=None, read=None, redi
    问题:在使用python时,使用pip安装psutil出错(pipinstallpsutil),错误信息:Retrying(Retry(total=0,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby‘SSLError(SSLError(1,u’[SSL:CERTIFICATE_VERIFY_FAILED]certificateverifyfailed......
  • CTF中常见的四种python逆向
    说在前面:什么是pyc文件?pyc是一种二进制文件,是由py文件经过编译后,生成的文件,是一种bytecode,py文件变成pyc文件后,加载的速度有所提高,pyc 文件是Python编译过的字节码文件。它是Python程序在运行过程中由源代码(通常是.py文件)自动或手动编译产生的二进制文件。而且pyc是......
  • 利用Python进行数据分析 原书第2版 (Wes McKinney)pdf下载
    链接:https://pan.baidu.com/s/18MOC0666S-EX_0ks4ivR2g提取码:rmkk本书由Pythonpandas项目创始人WesMcKinney亲笔撰写,详细介绍利用Python进行操作、处理、清洗和规整数据等方面的具体细节和基本要点。第2版针对Python3.6进行全面修订和更新,涵盖新版的pandas、NumPy、IPython......