打印时替换字典中的值

时间:2017-09-27 12:34:10

标签: python

我有一个python字典,示例配置如下:

{
"user_name": "abc"
"password": "*****"
}

我想要打印这本字典,但在打印时我想在其中屏蔽密码字段。 Print语句应返回如下内容:

argv

有没有办法在python中实现它?

4 个答案:

答案 0 :(得分:0)

如果您想要修改关于字典的print函数的行为,您应该创建自己的字典类,继承自默认的Python dict,然后定义您自己的{{1}功能。

答案 1 :(得分:0)

import copy
d2 = copy.deepcopy(d)
d2['password'] = '***'
print(d2)

答案 2 :(得分:0)

我认为您只想打印字典中的项目,而不是像其他人建议的那样自定义字典类。这样的事应该做​​:

def get_masked_str(mydict):
    result = "{\n"
    for k, v in mydict.items():
        if k == "password":
             v = "*****"
        result += "    " + repr(k) + ": " + repr(v) + "\n"
    result += "}\n"
    return result

答案 3 :(得分:0)

这是一个不使用外部模块的简单函数,用<condition="offline" id="1111" > <condition="online" id="2222" > <condition="offline" id="3333" > <condition="offline" id="4444" > 替换密码字段。

*