0x00:使用xpath进行网页解析#coding:utf-8importrequestsimportosimportrefromlxmlimportetreeimporttimedefget_title(title):#获取标题,创建文件path=r"./Pic/"+titleifos.path.exists(path):#文件夹存在,返回returnpathelse:os.makedirs(path)#创建空文件夹returnpathdefpic_ge
系统 2019-09-27 17:48:14 2059
python中,遍历dict的方法有四种。但这四种遍历的性能如何呢?我做了如下的测试l=[(x,x)forxinxrange(10000)]d=dict(l)fromtimeimportclockt0=clock()foriind:t=i+d[i]t1=clock()fork,vind.items():t=k+vt2=clock()fork,vind.iteritems():t=k+vt3=clock()fork,vinzip(d.iterkeys(),d
系统 2019-09-27 17:48:13 2059
在使用uliweb开发soapwebservice后,启动uliweb时,werkzeug的日志莫名其妙丢失了。正常的日志:复制代码代码如下:[INFO]*LoadingDebuggedApplication...[INFO]*Runningonhttp://localhost:8000/[INFO]*Restartingwithreloader[INFO]*LoadingDebuggedApplication...异常的日志:复制代码代码如下:[INFO
系统 2019-09-27 17:48:08 2059
可能有这样一种情况,当你想检查其他条件后一个条件解析为真。在这种情况下,可以使用嵌套的if结构。在嵌套的if语句结构,可以在一个if...elif...else结构里面可有另外一个if...elif...else结构。语法:嵌套if...elif...else结构的语法可以是:ifexpression1:statement(s)ifexpression2:statement(s)elifexpression3:statement(s)elsestateme
系统 2019-09-27 17:47:50 2059
1.服务端主程序:#encoding:utf-8importthreadingfromprocedure.socket_serverimportThreadingHttpServer,MainHandlerfromprocedure.processimportmq_respond_procedurefromloggerimportlog,logwffromconfimport(HOST,PORT,MQ_A_RECV_1,MQ_A_RECV_2,MQ_A_R
系统 2019-09-27 17:47:49 2059
========坚持30天刷leetcode=====题目链接:https://leetcode-cn.com/problems/4sum/分析:本题的解题思路与上一题类似,排序,然后先固定几个位置,再首尾各一个变量移动遍历。关键在于:特殊情况的判别,从而降低时间复杂度。classSolution:deffourSum(self,nums,target):k=len(nums)ifk<4:returnNone#特殊情况:数组小于4ifk==4andsum(
系统 2019-09-27 17:47:39 2059
怎么理解装饰器,用过或者写过什么装饰器吗?1.1.概述:装饰器本质上是一个Python函数,它可以让其他函数在不需要做任何代码变动的前提下增加额外功能,装饰器的返回值也是一个函数对象。1.2.详细描述:1.importlogging8.ret=oldfunc(*args,**kwargs)9.returnret10.11.返回新函数12.returnnew_func13.14.15.#通过语法糖使用装饰器16.@decoratorbr/>2.#定义装饰器,
系统 2019-09-27 17:46:27 2059
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 2059
用于记录自己写的,或学习期间看到的不错的,小程序,持续更新......****************************************************************【例001】计算:1-2+3-4..+199-200值复制代码代码如下:#encoding=utf-8#计算1-2+3-4..+199-200值#1+3+5+7+...199#-2-4-6...-200sum1=0sum2=0foriinrange(1,200,
系统 2019-09-27 17:46:02 2059
创建一个软件包(package)似乎已经足够简单了,也就是在文件目录下搜集一些模块,再加上一个__init__.py文件,对吧?我们很容易看出来,随着时间的推移,通过对软件包的越来越多的修改,一个设计很差的软件包可能会出现循环依赖问题,或是可能变得不可移植和不可靠。1.__init__.py仅为导入服务对于一个简单的软件包,你可能会忍不住把工具方法,工厂方法和异常处理都丢进__init__.py,千万别这样!一个结构良好的__init__.py文件,仅为一
系统 2019-09-27 17:45:42 2059