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

Python调用OpenAI API删除文件时提示delete()缺少sid参数如何解决

你遇到的TypeError: delete() missing 1 required positional argument: 'sid'报错,是因为openai.File.delete()的调用方式不正确,该方法需要直接传入要删除的文件ID作为参数,而不是先将ID传入File类构造函数再调用delete方法。另外你提供的代码片段中缺少import os声明,直接调用os.environ会额外触发模块不存在的报错。

场景1:删除单个指定文件

正确代码示例:

import openai
import os

# 配置OpenAI接口密钥
os.environ['OPENAI_API_KEY'] = '替换为你的实际API密钥'
openai.api_key = os.getenv('OPENAI_API_KEY')

# 传入目标文件ID执行删除
target_file_id = "file-CQ0tfZ4p3Hihlbwi1tQYmZV2"
delete_result = openai.File.delete(target_file_id)
print(f"删除结果:{delete_result}")

接口返回结果中deleted字段为true即代表删除成功。

场景2:删除指定的多个文件

提前整理好需要删除的文件ID列表,遍历执行删除即可:

import openai
import os

os.environ['OPENAI_API_KEY'] = '替换为你的实际API密钥'
openai.api_key = os.getenv('OPENAI_API_KEY')

# 填入需要删除的所有文件ID
to_delete_file_ids = [
    "file-CQ0tfZ4p3Hihlbwi1tQYmZV2",
    "file-替换为第二个要删除的文件ID",
    "file-替换为第三个要删除的文件ID"
]

for fid in to_delete_file_ids:
    res = openai.File.delete(fid)
    print(f"文件ID {fid} 删除状态:{res['deleted']}")

场景3:删除当前账号下所有文件

先拉取全量文件列表,再遍历删除:

import openai
import os

os.environ['OPENAI_API_KEY'] = '替换为你的实际API密钥'
openai.api_key = os.getenv('OPENAI_API_KEY')

# 获取账号下所有文件
all_files = openai.File.list()

for file_item in all_files['data']:
    res = openai.File.delete(file_item['id'])
    print(f"文件 {file_item['id']} 删除结果:{res['deleted']}")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 10:15:05