又拍云使用Python SDK进行文件下载

先安装upyun python sdk

pip install upyun

然后运行下面的代码,可以把所有的文件(包括文件夹里的内容)递归地下载到本地。
代码中需要修改参数有4个。都标记出来了。
操作员是在网站上设置的,至少要给读取权限,密码只生成一次,无法二次查看。

import upyun
import os

up = upyun.UpYun('存储桶的名字', '操作员名字', '操作员密码', timeout=30, endpoint=upyun.ED_AUTO)
# 本地保存路径
local_directory = "./本地保存路径"

# 创建本地保存目录(如果不存在)
if not os.path.exists(local_directory):
    os.makedirs(local_directory)

# 递归下载函数
def download_directory(remote_dir, local_dir):
    """
    递归下载目录及文件
    :param remote_dir: 远程目录路径
    :param local_dir: 本地保存目录路径
    """
    if not os.path.exists(local_dir):
        os.makedirs(local_dir)
    try:
        # 获取当前目录文件列表
        file_list = up.getlist(remote_dir)
        for item in file_list:
            remote_path = f"{remote_dir}/{item['name']}".replace("//", "/")
            local_path = os.path.join(local_dir, item['name'])

            if item['type'] == 'N':  # 文件类型
                with open(local_path, 'wb') as local_file:
                    up.get(remote_path, local_file)
                print(f"已下载文件: {remote_path}{local_path}")
            elif item['type'] == 'F':  # 子目录
                print(f"进入子目录: {remote_path}")
                download_directory(remote_path, local_path)
    except Exception as e:
        print(f"处理目录 {remote_dir} 时出错: {e}")

# 下载根目录及其所有子目录内容
root_remote_dir = "/"
download_directory(root_remote_dir, local_directory)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值