Python

Python实现动态添加类的属性或成员函数的解决方法

某些时候我们需要让类动态的添加属性或方法,比如我们在做插件时就可以采用这种方法。用一个配置文件指定需要加载的模块,可以根据业务扩展任意加入需要的模块。本文就此简述了Python实现动态添加类的属性或成员函数的解决方法,具体方法如下:首先我们可以参考ulipad的实现:mixin。这里做的比较简单,只是声明一个类,类初始化的时候读取配置文件,根据配置列表加载特定目录下的模块下的函数,函数和模块同名,将此函数动态加载为类的成员函数。代码如下所示:classWi

系统 2019-09-27 17:47:25 2084

Python

详解Python中find()方法的使用

find()方法判断字符串str,如果起始索引beg和结束end索引能找到在字符串或字符串的一个子串中。语法以下是find()方法的语法:str.find(str,beg=0end=len(string))参数str--此选项指定要搜索的字符串。beg--这是开始索引,默认情况下为0。end--这是结束索引,默认情况下它等于字符串的长度。返回值如果找到此方法返回的索引,否则返回-1。例子下面的例子显示了find()方法的使用。#!/usr/bin/pyth

系统 2019-09-27 17:47:19 2084

Python

python中时间、日期、时间戳的转换的实现方法

1.简介在编写代码时,往往涉及时间、日期、时间戳的相互转换。2.示例#引入模块importtime,datetime2.1str类型的日期转换为时间戳#字符类型的时间tss1='2013-10-1023:40:00'#转为时间数组timeArray=time.strptime(tss1,"%Y-%m-%d%H:%M:%S")printtimeArray#timeArray可以调用tm_year等printtimeArray.tm_year#2013#转为时

系统 2019-09-27 17:46:52 2084

Python

Python获取单个程序CPU使用情况趋势图

本文定位:已将CPU历史数据存盘,等待可视化进行分析,可暂时没有思路。前面一篇文章(//www.jb51.net/article/61956.htm)提到过在linux下如何用python将top命令的结果进行存盘,本文是它的后续。python中我们可以用matplotlib很方便的将数据可视化,比如下面的代码:复制代码代码如下:importmatplotlib.pyplotaspltlist1=[1,2,3]list2=[4,5,9]plt.plot(l

系统 2019-09-27 17:45:54 2084

Python

详解Python的Django框架中的中间件

什么是中间件我们从一个简单的例子开始。高流量的站点通常需要将Django部署在负载平衡proxy之后。这种方式将带来一些复杂性,其一就是每个request中的远程IP地址(request.META["REMOTE_IP"])将指向该负载平衡proxy,而不是发起这个request的实际IP。负载平衡proxy处理这个问题的方法在特殊的X-Forwarded-For中设置实际发起请求的IP。因此,需要一个小小的中间件来确保运行在proxy之后的站点也能够在r

系统 2019-09-27 17:38:42 2084

Python

利用Python自动监控网站并发送邮件告警的方法

前言因为有一些网站需要每日检查是否有问题,所以需要一个报警监控的机制,这个需要你指定你发送的邮箱和你接收的邮箱,就可以做到对网站自动监控了。这里用的是python3.5需要安装的插件:1、smtplib:发邮件需要用到2、pycurl:访问网站时会需要用到3、linecache:在读取txt网站清单时需要用到具体思路:python程序从txt里面批量读取到网站的信息,通过Curl.py模拟浏览器去访问网站,并且把访问的结果写入到以自己的网站名称-日期.tx

系统 2019-09-27 17:38:41 2084

Python

Windows下为Python安装Matplotlib模块

这玩意反反复复弄了一晚上,这里详细叙述下如何安装,肯定会对大家有所帮助。首先默认大家都装了Python,这个从官网下基本不会有任何难度。(1)Setuptools的安装为啥先说这个,后面所有whl文件都要用这个安装。基本上没有几个教程先介绍这个的,这里说全一点,方便小白使用。我们装的是Setuptools0.6c11。别的版本不是不行,因为这个在Pypi上面直接有exe文件,反正就是方便。地址:https://pypi.python.org/pypi/se

系统 2019-09-27 17:38:37 2084

Python

python制作花瓣网美女图片爬虫

花瓣图片的加载使用了延迟加载的技术,源代码只能下载20多张图片,修改后基本能下载所有的了,只是速度有点慢,后面再优化下importurllib,urllib2,re,sys,os,requestspath=r"C:\wqa\beautify"url='http://huaban.com/favorite/beauty'#http://huaban.com/explore/zhongwenlogo/?ig1un9tq&max=327773629&limit=

系统 2019-09-27 17:38:01 2084

Python

python 的列表遍历删除实现代码

python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l=[1,2,3,4]foriinl:ifi!=4:l.remove(i)printl这几句话本来意图是想清空列表l,只留元素4,但是实际跑起来并不是那个结果。再看下面,利用index来遍历删除列表ll=[1,2,3,4]foriinrange(len(l)):ifl[i]==4:dell[i]printl这样没问题,可以遍历删除,但是列表l如果变为l

系统 2019-09-27 17:38:00 2084

Python

Python实现二分法算法实例

1.算法:(设查找的数组期间为array[low,high])(1)确定该期间的中间位置K(2)将查找的值T与array[k]比较。若相等,查找成功返回此位置;否则确定新的查找区域,继续二分查找。区域确定如下:a.array[k]>T由数组的有序性可知array[k,k+1,……,high]>T;故新的区间为array[low,……,K-1]b.array[k]复制代码代码如下:#!/usr/bin/python#-*-coding:utf-8-*-def

系统 2019-09-27 17:37:51 2084

Python

Python写的一个简单监控系统

市面上有很多开源的监控系统:Cacti、nagios、zabbix。感觉都不符合我的需求,为什么不自己做一个呢用Python两个小时徒手撸了一个简易的监控系统,给大家分享一下,希望能对大家有所启发首先数据库建表建立一个数据库“falcon”,建表语句如下:CREATETABLE`stat`(`id`int(11)unsignedNOTNULLAUTO_INCREMENT,`host`varchar(256)DEFAULTNULL,`mem_free`int

系统 2019-09-27 17:37:43 2084

Python

儿童python练习实例

实例一:题目:有四个数字:1、2、3、4,能组成多少个互不相同且无重复数字的三位数?各是多少?程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去掉不满足条件的排列(只要百不等于十位并且不等于个位)。实例(Python2.0+)#!/usr/bin/python#-*-coding:UTF-8-*-foriinrange(1,5):#百位forjinrange(1,5):#十位forkinrange(1,5):#个位if(i!=k

系统 2019-09-27 17:37:41 2084

编程技术

咨询三大法则----转自<>,附读后感.

1.无论客户和你说什么,问题始终存在2.无论问题最初看起来怎样,它始终是人的问题(尤其在软件产业)3.不要忘记客户是按时间付费,而不是按你的解决问题的程...顺便就我个人理解,写点读后感...1,无论客户和你说什么,问题始终存在..这个很容易理解了,要是没有问题,客户找你干什么呢?咨询的费用又相当贵,客户吃饱了没事干?不过有一点...就算客户有问题,我们不能明明确确的指出来问题,而应该称为客户的处理方式不合适,或者不恰当,可以换一种相对要好一些的方式处理,

系统 2019-08-29 23:23:55 2084

编程技术

深入理解Apache Mina (4)---- IoFilter和IoHa

在《与IoFilter相关的几个类》和《与IoHandler相关的几个类》两篇文档中我们了解了IoFilter和IoHandler的基本用法,以及其相关类的作用和用途。在本文中主要探讨IoFilter和IoHandler的主要区别和联系。在上面的两篇文档中都提到了IoFilter和IoHandler都是对服务器或客户端(IoAcceptor/IoConnector)接收到的数据进行处理。在Mina的官方文档《Thehigh-performanceproto

系统 2019-08-29 23:01:54 2084

编程技术

Database Project requires local SQL 2005 ins

VS2008集成的dbProject是一个轻量级的数据库的设计工具。虽然比较起PD还在相当的差距,但一般的用途还是值得肯定的。呵呵。今天在试用时遇到一个问题:创建一个SQlserver2005Dataproject时,出错,提示需要一个本地的sqlserver实例。试着修改一个成一个远程地址如:192.168.30.199/vegnet(注意该实例在vs.net或ssms环境下是可以连接的)。修改过程如下:Tools-->Options-->Databas

系统 2019-08-29 22:53:03 2084