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

Sagemaker Jupyter Notebook函数参数异常:定义2参数却提示仅接受1个

解决TypeError:create_unique_files_dict() takes 1 positional argument but 2 were given

你遇到的矛盾点在于inspect.getsource显示函数定义包含2个参数,但实际调用时却提示只接受1个,这大概率是Jupyter Notebook的代码执行或函数状态问题,按以下步骤排查:

  • 重新执行函数定义的单元格
    你可能修改了create_unique_files_dict的参数(比如从1个调整为2个),但未重新运行定义该函数的单元格。Jupyter会将之前执行过的函数版本保留在内存中,即便你修改了代码,只要没重新执行定义单元格,调用的仍是旧版本。找到定义该函数的单元格并重新运行即可。

  • 检查函数是否被意外覆盖
    查看Notebook中调用函数之前的代码,确认是否存在将create_unique_files_dict重新赋值给另一个仅接受1个参数的函数的情况(比如create_unique_files_dict = some_other_function)。搜索所有出现该函数名的位置,排除被篡改的可能。

  • 确认函数是否为类的实例方法
    如果create_unique_files_dict是某个类的实例方法,它的第一个参数应为self,但inspect.getsource可能仅显示函数本身代码而未展示类的上下文。若是这种情况,你需要通过类的实例调用该方法(比如my_instance.create_unique_files_dict(...)),而非直接调用函数名。

验证方式

重新执行函数定义的单元格后,可通过以下代码确认当前内存中函数的参数签名:

import inspect
print(inspect.signature(create_unique_files_dict))

若输出为(data_path, extension),说明函数已更新为最新版本,此时再调用就不会触发报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 05:22:52