minio - 如何使用 Python 将目录上传到 Minio
问题描述
使用 Python 客户端,如何在保留目录结构的同时将本地目录中的所有文件递归上传到 Minio?
解决方案
假设 Minio 客户端已预先初始化,此递归函数会上传所有文件:
import glob
def upload_local_directory_to_minio(local_path, bucket_name, minio_path):
assert os.path.isdir(local_path)
for local_file in glob.glob(local_path + '/**'):
local_file = local_file.replace(os.sep, "/") # Replace \ with / on Windows
if not os.path.isfile(local_file):
upload_local_directory_to_minio(
local_file, bucket_name, minio_path + "/" + os.path.basename(local_file))
else:
remote_path = os.path.join(
minio_path, local_file[1 + len(local_path):])
remote_path = remote_path.replace(
os.sep, "/") # Replace \ with / on Windows
client.fput_object(bucket_name, remote_path, local_file)
推荐阅读
- python-3.x - 如何在 Hive 中匹配 SQL Server 函数
- pandas - 将 SQL 中的条件联接转换为 pandas
- assembly - 如何在 GDB 控制台的“信息寄存器”中设置变量 rip?
- lua - Roblox Studio 忽略了我的“If 语句”行
- seaborn - 如何在searborn中旋转pairplot的ylabel?
- javascript - 合并每组最后一个值的列
- java - 为什么我在使用意图后会收到此错误?
- python - 如何检查两个或多个字符串中的确切子字符串
- java - 为什么在实例初始化程序中不允许递增(`x++;`)但未声明的字段,但如果包装到匿名类中就可以了?
- swift - 当您只有一个符合较小类型的变量时,如何调用重载函数?