跳到内容

p-print (T203)

源自 flake8-print linter。

有时提供修复。

作用

检查 pprint 语句。

为什么这不好?

print 语句一样,用于调试的 pprint 语句应该从生产代码中省略。它们可能导致敏感信息意外包含在日志中,并且与 logging 语句不同,它们不能由客户端配置。

用于生成命令行界面程序输出的 pprint 语句通常不是问题。

示例

import pprint


def merge_dicts(dict_a, dict_b):
    dict_c = {**dict_a, **dict_b}
    pprint.pprint(dict_c)
    return dict_c

建议改为

def merge_dicts(dict_a, dict_b):
    dict_c = {**dict_a, **dict_b}
    return dict_c

修复安全性

此规则的修复被标记为不安全,因为它会删除超出调试目的使用的 pprint 语句。