一开始我使用了rarfile这个库,奈何对于含有密码的压缩包支持不好,在linux上不抛出异常;之后有又尝试了unrar。。比rarfile还费劲。。所以用了调用系统命令的方法,用7z来解压通过apt可以安装上7z-full和7z的rar插件有一个地方要注意-o和-p与后面的目录、密码之间没有空格!!同样可以用这个代码暴力破解压缩包密码#coding:utf-8importosimportzipfileimporttracebackimporttimeim
系统 2019-09-27 17:49:33 2184
importpandasaspdfromsklearnimportdatasetsimportmatplotlib.pyplotaspltimportmatplotlib.cmfromsklearn.model_selectionimporttrain_test_splitfromsklearn.neighborsimportKNeighborsClassifierdig=datasets.load_digits()#读入sklearn内置数据print(
系统 2019-09-27 17:49:24 2184
ccs的优点:css相对xpath语法比xpath简洁,定位速度比xpath快css的缺点:css不支持用逻辑运算符来定位,而xpath支持。css定位语法形式多样,相对xpath比较难记。css定位建议多用,这个定位方式很强大,定位速度快且准确度高。至于难记,用熟了就好了,对勤快的人来说,这不是问题。CSS_selector常用符号:#表示id.表示class>表示子元素,层级1.通过id属性定位:find_element_by_css_selector
系统 2019-09-27 17:49:19 2184
摘要在这篇文章里,我将以反模式的角度来直接讨论Django的低级ORM查询方法的使用。作为一种替代方式,我们需要在包含业务逻辑的模型层建立与特定领域相关的查询API,这些在Django中做起来不是非常容易,但通过深入地了解ORM的内容原理,我将告诉你一些简捷的方式来达到这个目的。概览当编写Django应用程序时,我们已经习惯通过添加方法到模型里以此达到封装业务逻辑并隐藏实现细节。这种方法看起来是非常的自然,而且实际上它也用在Django的内建应用中。>>>
系统 2019-09-27 17:49:03 2184
python多线程效率在一台8核的CentOS上,用python2.7.6程序执行一段CPU密集型的程序。importtimedeffun(n):#CPU密集型的程序while(n>0):n-=1start_time=time.time()fun(10000000)print('{}s'.format(time.time()-start_time))#测量程序执行时间测量三次程序的执行时间,平均时间为0.968370994秒。这就是一个线程执行一次fun(
系统 2019-09-27 17:47:58 2184
很多开发人员在刚开始学Python时,都考虑过像c++那样来实现singleton模式,但后来会发现c++是c++,Python是Python,不能简单的进行模仿。Python中常见的方法是借助global变量,或者class变量来实现单件。本文就介绍以decorator来实现singleton模式的方法。示例代码如下:##-----------------------codebegin-----------------------#-*-coding:u
系统 2019-09-27 17:47:23 2184
数字(number)Python3支持int、float、bool、complex(复数)。在Python3里,只有一种整数类型int,表示为长整型,没有python2中的Long。像大多数语言一样,数值类型的赋值和计算都是很直观的。内置的type()函数可以用来查询变量所指的对象类型。运算符下面以a=10,b=20为例进行计算运算符描述实例+加两个对象相加a+b输出结果30-减得到负数或是一个数减去另一个数a-b输出结果-10*乘两个数相乘或是返回一个被
系统 2019-09-27 17:46:58 2184
目的:很多时候,我们需要多个不同策略去完成一个任务,那个插件架构是很好一个选择。而每一个策略,不希望一个个去执行,还能实时上报数据,所以每一个插件都是异步执行,把每一个插件结果回调方法实时上报,然后写入数据。线程工具类#app/MyThread.pyimportthreadingclassMyThread(threading.Thread):def__init__(self,func,**kwargs):threading.Thread.__init__(
系统 2019-09-27 17:46:01 2184
listpython的列表内部实现是数组(具体实现要看解析器,CPython的实现),因此就有数组的特点。超过容量会增加更多的容量,set,get是O(1),但del,insert,in的性能是O(n)。具体的看下表,'n’是容器中当前的元素数,'k’需要操作的元素个数OperationAverageCaseAmortizedWorstCaseCopyO(n)O(n)Append[1]O(1)O(1)InsertO(n)O(n)GetItemO(1)O(1
系统 2019-09-27 17:45:52 2184
问题背景:同一个python脚本项目同时处理elasticseach6.2.1.和elasticseach5.1.1中存储的数据解决因为包冲突带来的问题解决思路:开一个python虚拟环境python安装虚拟环境:https://www.jianshu.com/p/4c898236cf35.3、创建虚拟环境mkvirtualenves5附:切换虚拟环境:workones5退出虚拟环境:deactivate4、查看当前虚拟环境安装的插件piplist5、py
系统 2019-09-27 17:45:40 2184