You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3中如何指定Exavault下载CSV文件的存储目录?

自定义Exavault CSV文件保存目录的解决方案

方法一:下载后移动文件(无需修改SDK源码)

默认情况下,resources_api.download()方法会将文件保存到系统临时目录,你可以在下载完成后手动将文件移动到指定目录。修改你的脚本如下:

import os
import shutil
import sys

# ... 你的原有初始化及文件列表查询代码 ...

try:
    downloaded_file = resources_api.download(API_KEY, ACCESS_TOKEN, downloads, download_archive_name="sample-csvs")
    # 定义目标保存目录,可替换为你需要的路径
    target_dir = os.path.expanduser("~/Desktop/Exavault_CSVs")
    # 自动创建目录(如果不存在)
    os.makedirs(target_dir, exist_ok=True)
    # 拼接目标文件的完整路径
    target_path = os.path.join(target_dir, os.path.basename(downloaded_file))
    # 移动临时文件到目标目录
    shutil.move(downloaded_file, target_path)
    print("File(s) downloaded to", target_path)
except Exception as e:
    print('Exception when downloading:', str(e))
    sys.exit(1)

方法二:修改SDK的resources_api.py文件(自定义下载逻辑)

如果你想让download方法直接支持指定保存路径,可以修改SDK源码:

  1. 打开resources_api.py,找到download方法,添加save_path参数并调整文件保存逻辑:
def download(self, api_key, access_token, resources, **kwargs):
    # ... 保留原有其他代码 ...
    # 找到处理临时文件保存的代码段,替换为以下逻辑
    if temp_file:
        temp_file.close()
        # 判断是否传入自定义保存路径
        save_path = kwargs.get('save_path')
        if save_path:
            # 创建目标目录(如果不存在)
            os.makedirs(save_path, exist_ok=True)
            target_file = os.path.join(save_path, os.path.basename(temp_file.name))
            shutil.move(temp_file.name, target_file)
            return target_file
        else:
            return temp_file.name
    # ... 保留原有其他代码 ...
  1. 修改后,调用download方法时直接传入save_path参数:
try:
    target_dir = os.path.expanduser("~/Documents/Exavault_Downloads")
    downloaded_file = resources_api.download(API_KEY, ACCESS_TOKEN, downloads, 
                                            download_archive_name="sample-csvs",
                                            save_path=target_dir)
    print("File(s) downloaded to", downloaded_file)
except Exception as e:
    print('Exception when downloading:', str(e))
    sys.exit(1)

注意:修改SDK源码后,后续更新SDK会覆盖你的自定义改动,因此优先推荐使用方法一。

内容的提问来源于stack exchange,提问作者Steven Diffey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:48:25