def decode_re_content()

in utils/compute_score.py [0:0]


def decode_re_content(content):
    '''把映射的内容转换成map'''
    num_infos = get_num_infos(content)
    class_info_dict = None
    if len(num_infos) > 0:
        try:
            sep = num_infos[0]['sep']
            ind_info_list = [strip(x) for x in content.split(sep)]
            if len(num_infos) > 1:
                sep = num_infos[1]['sep']
                class_info_dict = dict([tuple(x.split(sep)) for x in ind_info_list])
            else:
                if len(ind_info_list) % 2 != 0:
                    ind_info_list = ind_info_list[1:]
                class_info_dict = dict([tuple(ind_info_list)])
        except:
            ## 出现异常,使用第二个分隔符作为第一分隔符
            try:
                sep = num_infos[1]['sep']
                ind_info_list = content.split(sep)
                sep = num_infos[0]['sep']
                class_info_dict = dict([tuple(x.split(sep)) for x in ind_info_list if sep in x])
            except:
                content = [strip(x) for x in content.split('\n') if len(x) > 0]
                content = '\n'.join(content)
                reg_exp = '([\u4e00-\u9fa5]+)[:\s]+([正|负|中|无])[\u4e00-\u9fa5]+'
                find_res = re.findall(reg_exp, content)
                class_info_dict = {x[0]: x[1] for x in find_res}
    return class_info_dict