仅限于字典中value类型包括list、dict、int、bytes。有其他类型酌情添加条件分支及处理函数。
class traversal_modify(object):
def modify_dict(self,dic):
for key, value in dic.items():
if type(value) == list:
self.modify_list(value)
elif type(value) == dict:
self.modify_dict(value)
elif type(value) == int:
dic[key] = "{:#08X}".format(value)
elif type(value) == bytes:
dic[key] = value.decode("utf-8")
def modify_list(self,values):
for i in range(len(values)):
if type(values[i]) == list:
self.modify_list(values[i])
elif type(values[i]) == dict:
self.modify_dict(values[i])
elif type(values[i]) == int:
values[i] = "{:#08X}".format(values[i])
elif type(values[i]) == int:
values[i] = values[i].decode("utf-8")