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
相关产品推荐
相关产品推荐

