搜索到与相关的文章
Python

Python类中的魔法方法之 __slots__原理解析

在类中每次实例化一个对象都会生产一个字典来保存一个对象的所有的实例属性,这样非常的有用处,可以使我们任意的去设置新的属性。每次实例化一个对象python都会分配一个固定大小内存的字典来保存属性,如果对象很多的情况下会浪费内存空间。可通过__slots__方法告诉python不要使用字典,而且只给一个固定集合的属性分配空间classFoo(object):__slots__=("x","y","z")def__init__(self,x,y):self.x=

系统 2019-09-27 17:47:50 1927

Python

python 远程统计文件代码分享

python远程统计文件#!/usr/bin/python#encoding=utf-8importtimeimportosimportparamikoimportmultiprocessing#统计文件数量defget_total(ip,password,filepath):paramiko.util.log_to_file('paramiko.log')ssh=paramiko.SSHClient()ssh.set_missing_host_key_p

系统 2019-09-27 17:47:49 1927

Python

Python:logging 的巧妙设计

引言logging的基本用法网上很多,这里就不介绍了。在引入正文之前,先来看一个需求:假设需要将某功能封装成类库供他人使用,如何处理类库中的日志?数年前在一个C#开发的项目中,我用了这样的方法:定义一个logging基类,所有需要用到日志的类都继承这个基类,这个基类中定义一个LogHandler事件,该事件用于实现具体的记录日志动作,同时可以通过将类A的LogHandler委托挂到类B的LogHandler上,实现将两个类的日志信息添加到一起。自从看了py

系统 2019-09-27 17:47:37 1927

Python

好程序员Python学习路线分享实现快速排序算法

好程序员Python学习路线分享实现快速排序算法,快速排序算法是一种基于交换的高效的排序算法,由C.R.A.Hoare于1962年提出,是一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divideandconqueralgorithm)。分治法的基本思想将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。快速排序的基本思想先找到一个基准点(一般指数组的中部),然后数组被该基准点分为

系统 2019-09-27 17:47:30 1927

Python

python脚本实现查找webshell的方法

本文讲述了一个python查找webshell脚本的代码,除了查找webshell功能之外还具有白名单功能,以及发现恶意代码发送邮件报警等功能,感兴趣的朋友可以自己测试一下看看效果。具体的功能代码如下:#!/usr/bin/envpython#-*-coding:utf-8-*-importosimportsysimportreimportsmtplib#设定邮件fromaddr="smtp.qq.com"toaddrs=["voilet@qq.com"]

系统 2019-09-27 17:47:03 1927

Python

Linux下用Python脚本监控目录变化代码分享

#!/usr/bin/envpython#coding=utf-8importosfrompyinotifyimportWatchManager,Notifier,ProcessEvent,IN_DELETE,IN_CREATE,IN_MODIFYwm=WatchManager()mask=IN_DELETE|IN_CREATE|IN_MODIFY#watchedeventsclassPFilePath(ProcessEvent):defprocess_I

系统 2019-09-27 17:46:53 1927

Python

Python 执行字符串表达式函数(eval exec execfile)

仔细研读后学习了三个函数:eval:计算字符串中的表达式exec:执行字符串中的语句execfile:用来执行一个文件需注意的是,exec是一个语句,而eval()和execfile()则是内建built-in函数。Python2.7.2(default,Jun122011,15:08:59)[MSCv.150032bit(Intel)]onwin32Type"help","copyright","credits"or"license"formoreinf

系统 2019-09-27 17:46:53 1927

Python

Python中让MySQL查询结果返回字典类型的方法

Python的MySQLdb模块是Python连接MySQL的一个模块,默认查询结果返回是tuple类型,只能通过0,1..等索引下标访问数据默认连接数据库:复制代码代码如下:MySQLdb.connect(host=host,user=user,passwd=passwd,db=db,port=port,charset='utf8')查询数据:复制代码代码如下:cur=conn.cursor()cur.execute('selectb_idfromblo

系统 2019-09-27 17:46:17 1927

Python

python自动化测试之DDT数据驱动的实现代码

时隔已久,再次冒烟,自动化测试工作仍在继续,自动化测试中的数据驱动技术尤为重要,不然咋去实现数据分离呢,对吧,这里就简单介绍下与传统unittest自动化测试框架匹配的DDT数据驱动技术。话不多说,先撸一波源码,其实整体代码并不多#-*-coding:utf-8-*-#ThisfileisapartofDDT(https://github.com/txels/ddt)#Copyright2012-2015CarlesBarrobésandDDTcontri

系统 2019-09-27 17:46:08 1927

Python

简单了解python的内存管理机制

Python引入了一个机制:引用计数。引用计数python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被创建时就创建了一个引用计数,当对象不再需要时,这个对象的引用计数为0时,它被垃圾回收。总结一下对象会在一下情况下引用计数加1:1.对象被创建:x=42.另外的别人被创建:y=x3.被作为参数传递给函数:foo(x)4.作为容器对象的一个元素:a=[1,x,'33']引用计数减少情况1.一个本地引用离

系统 2019-09-27 17:45:58 1927