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

重写BaseHTTPRequestHandler的log_message遇Pylint W0221误报?

解决Pylint W0221: arguments-differ 警告问题

你的问题不是可变参数*args导致的,而是子类重写方法的参数名称和父类不匹配。

查看Python标准库中BaseHTTPRequestHandler的log_message方法签名:

def log_message(self, format, *args):
    # 父类实现逻辑

父类的第二个参数名叫format,但你子类里写的是fmt——Pylint的W0221规则会检查重写方法的位置参数名称是否和父类一致,哪怕参数数量、可变参数部分相同,只要参数名不匹配就会触发警告。

修复方法

把子类方法的参数名改成和父类一致即可:

from http.server import BaseHTTPRequestHandler

class MyHandler(BaseHTTPRequestHandler):

    def log_message(self, format, *args):
        pass

如果坚持想用fmt作为参数名,可以给该方法添加Pylint忽略注释:

from http.server import BaseHTTPRequestHandler

class MyHandler(BaseHTTPRequestHandler):

    # pylint: disable=arguments-differ
    def log_message(self, fmt, *args):
        pass

但更推荐遵循父类的参数命名规范,这样代码风格更统一,也能避免不必要的告警。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 11:12:04