CircuitPython Pico W调用set_ipv4_address报错:TypeError: 传入多余位置参数
解决
set_ipv4_address的TypeError: extra positional arguments given错误 这个错误是因为你给set_ipv4_address传参的方式不符合方法要求——它不接受三个独立的位置参数,可通过以下两种方式修正:
修正方案1:使用关键字参数
把出错的代码行改成下面这样,明确指定每个参数的名称:
wifi.radio.set_ipv4_address(ipv4=ip, netmask=netmask, gateway=gateway)
修正方案2:打包成元组传递(部分库适用)
如果你的WiFi库要求将IP、子网掩码、网关打包为一个元组作为单个参数传入,可改成:
wifi.radio.set_ipv4_address((ip, netmask, gateway))
原因解释
多数嵌入式Python的WiFi模块(比如CircuitPython的wifi组件)中,set_ipv4_address的方法定义只允许接收一个位置参数,其余参数必须通过关键字指定。直接传三个位置参数会被判定为“多余参数”,因此触发TypeError。
内容的提问来源于stack exchange,提问作者tal
相关产品推荐
相关产品推荐

