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

web3.py运行触发TypeError: 'type' object is not subscriptable如何解决

问题修复方案

错误根因

触发该报错的原因是Web3 HTTPProvider初始化语法错误,你的代码中使用了方括号[]传递构造参数,Python将该操作识别为对类型对象的下标访问,因此抛出'type' object is not subscriptable错误。
错误代码行位置:

w3 = Web3(Web3.HTTPProvider["http://127.0.0.1:7545"])

修复方法

将方括号替换为类实例化所需的圆括号()即可,修改后代码为:

w3 = Web3(Web3.HTTPProvider("http://127.0.0.1:7545"))

补充说明

该报错实际在初始化w3对象时就已经触发,程序没有执行到后续打印SimpleStorage对象的逻辑,修改后即可正常运行,完成合约对象的创建和打印操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 23:54:04