利用Python写了简单测试主机是否存活脚本,此脚本不适于线上使用,因为网络延迟、丢包现象会造成误报邮件,那么后续会更新判断三次ping不通后再发报警邮件,并启用多线程处理。#!/usr/bin/envpython#coding:UTF-8importtimeimportpexpectimportsmtplibfromemail.mime.textimportMIMETextmail_host="smtp.163.com"#定义smtp服务器mail_to
系统 2019-09-27 17:38:23 1988
我在工作的时候,在测试环境下使用的数据库跟生产环境的数据库不一致,当我们的测试环境下的数据库完成测试准备更新到生产环境上的数据库时候,需要准备更新脚本,真是一不小心没记下来就会忘了改了哪里,哪里添加了什么,这个真是非常让人头疼。因此我就试着用Python来实现自动的生成更新脚本,以免我这烂记性,记不住事。主要操作如下:1.在原先basedao.py中添加如下方法,这样旧能很方便的获取数据库的数据,为测试数据库和生产数据库做对比打下了基础。defselect
系统 2019-09-27 17:38:12 1988
实际上,Python提供了with语句来管理资源关闭。比如可以把打开的文件放在with语句中,这样with语句就会帮我们自动关闭文件。with语句的语法格式如下:withcontextexpression[astarget(s)]:with代码块在上面的语法格式中,context_expression用于创建可自动关闭的资源。例如,程序使用with语句来读取文件:importcodecs#使用with语句打开文件,该语句会负责关闭文件withcodecs.
系统 2019-09-27 17:38:03 1988
这里以监控内存使用率为例,写的一个简单demo性程序,具体操作根据51reboot提供的教程写如下。一、建库建表创建falcon数据库:mysql>createdatabasefalconcharactersetutf8;QueryOK,1rowaffected(0.00sec)创建内存监控使用的表stat,表结构如下:CREATETABLE`stat`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`host`varc
系统 2019-09-27 17:37:58 1988
在实际应用中,你将用Django模板系统来创建整个HTML页面。这就带来一个常见的Web开发问题:在整个网站中,如何减少共用页面区域(比如站点导航)所引起的重复和冗余代码?解决该问题的传统做法是使用服务器端的includes,你可以在HTML页面中使用该指令将一个网页嵌入到另一个中。事实上,Django通过刚才讲述的{%include%}支持了这种方法。但是用Django解决此类问题的首选方法是使用更加优雅的策略――模板继承。本质上来说,模板继承就是先构造
系统 2019-09-27 17:37:53 1988
Theunrarcommandorguitoolsarenotsupportedoutofthebox.Usethefollowinginstructionsinstallthesame:unrarCommandLineToolYouneedtodownloadunrarbyvisitingthispageandlookforOSXversion.Alternativly,youcanopentheterminalandtypethefollowingco
系统 2019-08-29 23:45:59 1988
导出指定条件数据普通导入表方式导入出现日志如下:说明在建立表的时候报错,因为数据库里已经有这张表了,报错就中断退出了。可以这样处理,在导入的选项上选择忽略,就可以将建表的错误忽略,而到导入数据的地方了,这样增量的数据就可以导入到这个表里日志如下:哈哈。dmp数据增量导入
系统 2019-08-29 23:39:10 1988
这节介绍窗口部件布局package第一章;importcom.trolltech.qt.core.Qt;importcom.trolltech.qt.gui.QApplication;importcom.trolltech.qt.gui.QHBoxLayout;importcom.trolltech.qt.gui.QSlider;importcom.trolltech.qt.gui.QSpinBox;importcom.trolltech.qt.gui.Q
系统 2019-08-29 23:15:23 1988
//在1.jsp里可以这样得到<%Stringt1Value=request.getParameter("t1");%>jsp传值
系统 2019-08-29 22:59:48 1988
StringBufferbuf=newStringBuffer();buf.append("fromServicelistasslwhere1=1andsl.visValid='y'");if(vcustomerId!=null&&!vcustomerId.equals("")&&!vcustomerId.equals("null")){buf.append("andsl.vcustomerIdlike'%"+vcustomerId+"%'");}if(v
系统 2019-08-29 22:58:03 1988