文字域替换

#定义了如下文字域:'[$姓名$],[$单位名称$]发了一条短信!',要以此为模板向多个单位(lsdw是单位列表)发送短信

import relsdw = [{'单位名称': '单位一', '姓名': '张三'},        {'单位名称': '单位二', '姓名': '李四'},        {'单位名称': '单位三', '姓名': '王二'}]s = '[$姓名$],[$单位名称$]发了一条短信!'#文字模板rc = re.compile('\[\$.{1,6}\$\]')ls = rc.findall(s)lssend = [s] * len(lsdw)i = 0for l in ls:    j = 0    for sd in lssend:        key = l.replace('[$', '').replace('$]', '')        lssend[j] = sd.replace(l, lsdw[j][key])        j += 1    i += 1print(lssend)

结果如下:

['张三,单位一发了一条短信!', '李四,单位二发了一条短信!', '王二,单位三发了一条短信!']

ps:对于文字模板可随意添加域,可任意顺序