51 lines
1.5 KiB
Python
Executable File
51 lines
1.5 KiB
Python
Executable File
from minio import Minio
|
|
from minio.error import S3Error
|
|
import os
|
|
|
|
# 配置信息
|
|
ENDPOINT = "minio-jndsj.t-aaron.com:2443"
|
|
ACCESS_KEY = "PJM0c2qlauoXv5TMEHm2"
|
|
SECRET_KEY = "Wr69Dm3ZH39M3GCSeyB3eFLynLPuGCKYfphixZuI"
|
|
|
|
|
|
|
|
BUCKET_NAME = "algorithm"
|
|
FOLDER_PATH = "weights/024/V1.3"
|
|
LOCAL_SAVE_DIR = "./downloaded_files" # 本地保存目录
|
|
|
|
# 创建 MinIO 客户端
|
|
client = Minio(
|
|
ENDPOINT,
|
|
access_key=ACCESS_KEY,
|
|
secret_key=SECRET_KEY,
|
|
secure=True # 使用 HTTPS
|
|
)
|
|
|
|
def download_folder():
|
|
try:
|
|
# 确保本地目录存在
|
|
os.makedirs(LOCAL_SAVE_DIR, exist_ok=True)
|
|
|
|
# 列出文件夹中的所有对象
|
|
objects = client.list_objects(BUCKET_NAME, prefix=FOLDER_PATH, recursive=True)
|
|
|
|
for obj in objects:
|
|
# 构建本地文件路径
|
|
local_path = os.path.join(LOCAL_SAVE_DIR, os.path.relpath(obj.object_name, FOLDER_PATH))
|
|
|
|
# 确保子目录存在
|
|
os.makedirs(os.path.dirname(local_path), exist_ok=True)
|
|
|
|
# 下载文件
|
|
print(f"正在下载: {obj.object_name} -> {local_path}")
|
|
client.fget_object(BUCKET_NAME, obj.object_name, local_path)
|
|
|
|
print("所有文件下载完成!")
|
|
|
|
except S3Error as e:
|
|
print(f"MinIO 错误: {e}")
|
|
except Exception as e:
|
|
print(f"发生错误: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
download_folder() |