前言:
目前看官们对“table td width”大概比较讲究,姐妹们都想要剖析一些“table td width”的相关资讯。那么小编在网摘上搜集了一些关于“table td width””的相关文章,希望各位老铁们能喜欢,兄弟们快快来了解一下吧!Step1:分享背景
在工作中,我们用到的环境经常会有很多套,由于不同的环境使用的配置是不一样的,那么怎么能够对比所有不同环境的相同配置项各是什么内容呢?
Step2:Python代码实现
import osfrom email.mime.multipart import MIMEMultipartfrom email.mime.text import MIMETextimport smtplib#指定java工程目录dirpath="D:\java_project\entitystorage"emails='loadkernel@126.com'alldict={}#获取所有文件里的key and valuedef get_all_property(dirpath,env): for root, dirs, files in os.walk(dirpath, topdown=False): for fn in files: fullpathfile=os.path.join(root, fn) if(env in fullpathfile and "properties" in fullpathfile): with open(fullpathfile,'r',encoding='utf-8') as ff: print(ff) for line in ff.readlines(): print(fullpathfile,line) if(not line.startswith("#")): line=line.replace("\n","") if(len(line)>1): if("=" in line): kv=line.split("=") get_all_properties(env, kv[0], kv[1]) else: print("the "+str(fullpathfile) +"has an error!!!")#将获取的key and value 内容放入字典def get_all_properties(env,k,v): if(env not in alldict.keys()): alldict[env] = {} alldict[env][k]=v else: alldict[env][k]=v#在页面上展示不同环境的key 对应的值def show_data_to_page(betadict,stagingdict,uatdict,proddict): count=0 str1 = '<!DOCTYPE html> <html> <meta charset="utf-8"> <head> <style type="text/css"> table.gridtable {font-family: verdana,arial,sans-serif; font-size:11px; color:#333333; border-width: 1px; border-color: #666666; border-collapse: collapse; } table.gridtable th {border-width: 1px; padding: 8px; border-style: solid; border-color: #666666; background-color: #dedede; } table.gridtable td {border-width: 1px; padding: 8px; border-style: solid; border-color: #666666; background-color: #ffffff; } </style> </head>'; str1 = str1 + '<body>' str1 = str1 + ' <table class="gridtable">' str1 = str1 + ' <tr> <th>key</th> <th>beta</th> <th>staging</th> <th>uat</th> <th>prod</th> <tr/> ' sorted_prod=sorted(proddict['prod'].items(), key=lambda d: d[0]) for pk,pv in sorted_prod: count+=1 print(count,pk,pv) if(pk in betadict['betamagic'].keys()): try: if(len(betadict['betamagic'][pk])>0): bv=betadict['betamagic'][pk] if(str(pv).lower()==str(bv).lower()): bv="<p style='color:blue'><B>"+bv+"</B>" else: bv = "None" except: bv="None" else: bv="None" if (pk in stagingdict['staging'].keys()): try: if (len(stagingdict['staging'][pk]) > 0): sv = stagingdict['staging'][pk] if (str(pv).lower() == str(sv).lower()): sv = "<p style='color:blue'><B>" + sv + "</B>" else: sv = "None" except: sv = "None" else: sv = "None" if (pk in uatdict['uat'].keys()): try: if (len(uatdict['uat'][pk]) > 0): uv = uatdict['uat'][pk] if (str(pv).lower() == str(uv).lower()): uv = "<p style='color:blue'><B>" + uv + "</B>" else: uv = "None" except: uv = "None" else: uv = "None" str1+='<tr> <td>' + str(count)+" . "+ pk + '</td> <td>' + bv + '</td> <td>' + sv + '</td> <td>' + uv + '</td> <td>' + pv + '</td> <tr/>' str1 = str1 + ' </table>' str1 = str1 + '</body> </html>' str1=str1.replace("None","<p style='color:green'><B>None</B>") send_mail(emails, 'diff the properties', str1)def send_mail(receivers, title, content): sender = 'qa.notice@126.com' mailto = receivers.split(",") try: msg = MIMEMultipart() msg['Subject'] = title to_user = ",".join(mailto) print("receivers...", to_user) msg['to'] = to_user msg['From'] = sender body = MIMEText(content, _subtype='html', _charset='utf-8') msg.attach(body) smtp = smtplib.SMTP('smtp.officexxx.com', 587) smtp.starttls() print("sending") smtp.login("qa.notice@126.com", "testkyjrsdxz") smtp.sendmail(sender, mailto, msg.as_string()) print("send") smtp.quit() except smtplib.SMTPException as e: print(e)if __name__ == '__main__': get_all_property(dirpath,"betamagic") betadict=alldict print(betadict) alldict={} print("***") get_all_property(dirpath,"staging") stagingdict = alldict print(stagingdict) alldict = {} get_all_property(dirpath,"uat") uatdict = alldict print(uatdict) alldict = {} get_all_property(dirpath,"prod") proddict = alldict print(proddict) show_data_to_page(betadict,stagingdict,uatdict,proddict)
Step3:邮件效果图展示
备注说明:
1. 图中红色表示live环境有对应项,但是其他环境没有的。
2. 图中蓝色表示非live环境与live配置相同的。
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #table td width