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

使用boto3上传JSON文件至S3报错“No such file found in directory”求助

解决Boto3上传本地JSON文件到S3时的"No such file found"错误

我来帮你排查这个问题,你遇到的“No such file found”错误大概率是文件路径不正确导致的,下面是一步步的解决方案:

  • 使用绝对路径替代相对路径
    你代码里写的'myfile.json'是相对路径,Python会在脚本运行的当前工作目录里找这个文件,而不是你的桌面。要直接指向桌面的文件,必须用绝对路径:

    • Windows系统示例:
      import os
      # 获取桌面绝对路径
      desktop_path = os.path.join(os.environ['USERPROFILE'], 'Desktop')
      file_full_path = os.path.join(desktop_path, 'myfile.json')
      # 上传文件
      s3.Bucket('myfirstbucket').upload_file(file_full_path, 'myfile.json')
      
    • macOS/Linux系统示例:
      import os
      # 获取桌面绝对路径
      desktop_path = os.path.expanduser('~/Desktop')
      file_full_path = os.path.join(desktop_path, 'myfile.json')
      # 上传文件
      s3.Bucket('myfirstbucket').upload_file(file_full_path, 'myfile.json')
      
  • 确认文件名完全匹配
    检查文件名的大小写、后缀是否完全一致:

    • 比如MyFile.json和myfile.json在区分大小写的系统(macOS/Linux)里是不同的文件
    • Windows系统默认隐藏已知文件后缀,可能存在myfile.json.txt这种被隐藏后缀的文件,需要在文件夹选项中开启“显示文件扩展名”来确认
  • 验证文件是否真的存在
    可以先通过代码确认文件路径是否有效,避免手动输入错误:

    import os
    file_full_path = os.path.expanduser('~/Desktop/myfile.json') # 根据系统调整路径
    if os.path.isfile(file_full_path):
        print("文件存在,可以正常上传")
    else:
        print(f"文件不存在:{file_full_path},请检查路径或文件位置")
    
  • 排查权限问题(可选)
    如果以上都没问题,可能是文件权限限制:

    • macOS/Linux:运行chmod +r ~/Desktop/myfile.json赋予读取权限
    • Windows:确认当前用户有访问桌面文件的权限,没有被杀毒软件或系统安全策略拦截

内容的提问来源于stack exchange,提问作者A.Karan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:01:08