首页 文章 精选 留言 我的

精选列表

搜索[文本渲染],共10005篇文章
优秀的个人博客,低调大师

可以发送html文本的python脚本

获取阿里云和金山云云存储的方法在前两章文章里面已经有说过,那么现在就可以搭配一个邮件脚本,然后每天定时发送了。 假设我们的这个发送邮件脚本叫sendmail.py,由于我们这个邮件脚本是包含整个的html文件,所以我们这个sendmail.py需要获得阿里云OSS脚本的结果,然后把这个脚本结果传递给html。 整个脚本如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 #!/usr/bin/envpython #-*-coding:UTF-8-*- #Author:ChrisChan@2017-09-27 #这个脚本用于获取阿里云和金山云云存储的值,并发送邮件,python版本必须是2.7+ import os,time,re,smtplib,logging from email.mime.text import MIMEText from email.header import Header from aliyunsdkcore import client from aliyunsdkcms.request.v20170301 import QueryMetricListRequest import getalioss #这个是获取阿里云oss的脚本,叫getalioss.py from getalioss import getlists oss_today_capacity,oss_yesterday_capacity,oss_diff = getlists() color = 'green' if oss_diff[ 0 ]< '0' else 'red' color1 = 'green' if oss_diff[ 1 ]< '0' else 'red' color2 = 'green' if oss_diff[ 2 ]< '0' else 'red' color3 = 'green' if oss_diff[ 3 ]< '0' else 'red' color4 = 'green' if oss_diff[ 4 ]< '0' else 'red' color5 = 'green' if oss_diff[ 5 ]< '0' else 'red' def send_mail(to_list,cc_list,html,sub): me = mail_user msg = MIMEText(html,_subtype = 'html' ,_charset = 'utf-8' ) #格式化邮件内容为html,编码为utf-8 msg[ 'Subject' ] = sub #邮件主题 msg[ 'From' ] = me #发件人 msg[ 'To' ] = ";" .join(to_list) #收件人,将列表转换为字符串 msg[ 'Cc' ] = ";" .join(cc_list) #抄送人,将列表转换为字符串 try : send_smtp = smtplib.SMTP() #实例化 send_smtp.connect(mail_host) #连接smtp服务器 send_smtp.login(mail_user,mail_pass) #使用定义的账号密码进行登录 send_smtp.sendmail(me,to_list + cc_list,msg.as_string()) #发送邮件 send_smtp.close() #关闭连接 return True except Exception,e: #logging.debug(e) print ( "ERROR!!!!" ) return False if __name__ = = '__main__' : mail_host = 'mail.dahuatech.com' #这里填写发信的服务器地址 mail_user = 'dh_software007@dahuatech.com' #这里填写发信人 mail_pass = '发送邮件的密码' mailto_list = [ 'chenx1242@163.com' ] #这里填写收信人 mailcc_list = [ '124208739@qq.com' , 'chen_shuo@dahuatech.com' ] #这里是抄送 html = """ <tablecolor="CCCC33"width="800"border="1"cellspacing="0"cellpadding="5"text-align="center"> <tr> <B><tdtext-align="center">云厂家</td></B> <B><tdtext-align="center">Bucket名称</td></B> <B><tdtext-align="center">保存内容</td></B> <B><tdtext-align="center">今日容量大小</td></B> <B><tdtext-align="center">昨日容量大小</td></B> <B><tdtext-align="center">两日容量差</td></B> </tr> <tr> <tdtext-align="center"rowspan="3">阿里云杭州一区</td> <tdtext-align="center">lechangecloud</td> <tdtext-align="center">云录像(含录像封面)、报警图片、全景图片 合成(原始+合成后图片)</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> <tdtext-align="center"style="color:%s">%sGB</td> </tr> <tr> <tdtext-align="center">lechangecloud-public</td> <tdtext-align="center">录像分享文件</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> <tdtext-align="center"style="color:%s">%sGB</td> </tr> <tr> <tdtext-align="center">lechangehls</td> <tdtext-align="center">视频直播文件</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> <tdtext-align="center"style="color:%s">%sGB</td> </tr> <tr> <tdtext-align="center"rowspan="2">阿里云深圳一区</td> <tdtext-align="center">online-sz-private</td> <tdtext-align="center">云录像(含录像封面)、报警图片、全景图片 合成(原始+合成后图片)</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> <tdtext-align="center"style="color:%s">%sGB</td> </tr> <tr> <tdtext-align="center">online-sz-public</td> <tdtext-align="center">录像分享文件</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> <tdtext-align="center"style="color:%s">%sGB</td> </tr> <tr> <tdtext-align="center">阿里云杭州二区</td> <tdtext-align="center">录像分享文件</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> <tdtext-align="center"style="color:%s">%sGB</td> </tr> <tr> <tdtext-align="center"rowspan="3">金山云</td> <tdtext-align="center">js-online-private</td> <tdtext-align="center">云录像(含录像封面)</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> </tr> <tr> <tdtext-align="center">js-online-public</td> <tdtext-align="center">录像分享文件</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> </tr> <tr> <tdtext-align="center">js-online-hls</td> <tdtext-align="center">视频直播文件</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> <tdtext-align="center">%sGB</td> </tr> <tr> <tdtest-align="center"colspan="6">注意事项1:阿里云的云存储延>迟大约2~3小时,金山云的云存储延迟为一天;<br/> 注意事项3:此邮件是系统自动发出,如果有任何疑问请找陈硕; </tr> </table>""" % (oss_today_capacity[ 0 ],oss_yesterday_capacity[ 0 ],color,oss_diff[ 0 ],oss_today_capacity[ 1 ],oss_yesterday_capacity[ 1 ],color1,oss_diff[ 1 ],oss_today_capacity[ 2 ],oss_yesterday_capacity[ 2 ],color2,oss_diff[ 2 ],oss_today_capacity[ 3 ],oss_yesterday_capacity[ 3 ],color3,oss_diff[ 3 ],oss_today_capacity[ 4 ],oss_yesterday_capacity[ 4 ],color4,oss_diff[ 4 ],oss_today_capacity[ 5 ],oss_yesterday_capacity[ 5 ],color5,oss_diff[ 5 ], '9.27' , '9.26' , '0.01' , '381.71' , '381.71' , '0.0' , '14.9' , '14.9' , '0.0' ) #这里对应上面%s sub = "乐橙云存储资源空间情况每日汇报表" #这里是标题 if send_mail(mailto_list,mailcc_list,html,sub): logging.debug( "Sendmailsucced!" ) else : logging.debug( "Sendmailfailed" ) 这里我金山云没有用脚本获取值,而是手动输入一些值作例子,整个脚本效果如下: 可以看到,在“差值”那一栏,正数是红色,负数是绿色。 新的知识点! 1)上面那个脚本涉及到了B.py获取A.py的变量的问题,在这里我举个例子方便理解: 假设A.py是这样的: 1 2 3 4 5 6 7 #!/usr/bin/envpython #-*-coding:UTF-8-*- a = 1 b = "lebronjames" c = "YaoMing" def f(): return "function" B.py需要得到A.py的变量和函数,那么B.py可以这么写: 1 2 3 4 5 6 7 8 9 #!/usr/bin/envpython #-*-coding:UTF-8-*- import A #如果A.py跟B.py不在一个文件夹下,这里需要写绝对路径 a = a.a print (a) from a import b,c,f print (b) print (b) + (c) f() 执行一下B.py,看一下效果: 2)接着上面的例子说,最好是A.py生成一个结果,然后传给B,而不是把生成结果的事交给B去办,因为变量太复杂(比如涉及到for in 循环),那么在from import那步就很容易出错,所以说“模块化中的单元是类、函数和常量,而不是变量”。 比如A.py中涉及了一个for in循环,那么可以将得到的lists写进一个函数getlists()里,然后在B.py里写 lists=getlists()。 最后的最后,如果您觉得本文对您升职加薪有帮助,那么请不吝赞助之手,刷一下下面的二维码,赞助本人继续写更多的博文! 本文转自 苏幕遮618 51CTO博客,原文链接:http://blog.51cto.com/chenx1242/1969705

优秀的个人博客,低调大师

科普|文本分析浅析——文档分类

序言 自动文档分类是一个很好的例子,说明如何善用机器学习和自然语言处理,让机器更好地处理人类语言。自动分类目的,是给一个文档或一段文字指派一个或多个类别,以方便对文档进行归类和管理。特别是对于出版社、新闻网站、博客或其他需要处理大量文字内容的人和机构来说,人工对文档,并进行分组和分类是极其耗费人力和时间的工作。 大体上讲,有两类机器学习方式:监督学习和非监督学习。监督学习方法是在“以往的观察”之上建立模型,这种“以往的观察”被称为训练集。在做文档分类时,预先定义好文档类别,再人工为训练数据集中每个文档打上类别标记。建立了训练数据集之后,接着是用这个人工标记的数据集训练一个分类器。其思想是:在训练完成后,这个分类器将能够预测任何一个给定文档的类别。 非监督机器学习方式有所不同,它们不需要训练数据集。以文档分类来说,类别是事先未知的。非监督

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册