在python的官方文档中:getattr()的解释如下:getattr(object,name[,default])Returnthevalueofthenamedattributeofobject.namemustbeastring.Ifthestringisthenameofoneoftheobject'sattributes,theresultisthevalueofthatattribute.Forexample,getattr(x,'fooba
系统 2019-09-27 17:47:19 1940
上面的博客把基本的HTML解析库已经说完了,这次我们来给予几个实战的项目。这次主要用Requests库+正则表达式来解析HTML。项目一:爬取猫眼电影TOP100信息代码地址:https://gitee.com/dwyui/maoyan-Requests.git项目二:美食爬取(包含多层爬取)代码地址:https://gitee.com/dwyui/meishi_Requests.git
系统 2019-09-27 17:47:06 1940
超如果你急需一个简单的WebServer,但你又不想去下载并安装那些复杂的HTTP服务程序,比如:Apache,ISS等。那么,Python可能帮助你。使用Python可以完成一个简单的内建HTTP服务器。于是,你可以把你的目录和文件都以HTTP的方式展示出来。佻只需要干一件事情,那就是安装一个Python。实际上来说,这是一个可以用来共享文件的非常有用的方式。实现一个微型的HTTP服务程序来说是很简单的事情,在Python下,只需要一个命令行。下面是这个
系统 2019-09-27 17:47:00 1940
sys模块提供了许多函数和变量来处理Python运行时环境的不同部分.处理命令行参数在解释器启动后,argv列表包含了传递给脚本的所有参数,列表的第一个元素为脚本自身的名称.使用sys模块获得脚本的参数复制代码代码如下:print"scriptnameis",sys.argv[0]#使用sys.argv[0]采集脚本名称iflen(sys.argv)>1:print"thereare",len(sys.argv)-1,"arguments:"#使用len(
系统 2019-09-27 17:46:35 1940
在带有参数的的函数进行装饰时defpri(func):defone(*a,**b):#这里要带参func(*a,**b)#这里也要带参returnone@prideftest(*a,**b):#不定长参数print(a,b)test(1,2,a=2)对有返回值的函数进行装饰时defpri(func):defone():returnfunc()#要将func()返回returnone@prideftest():returnTrueprint(test())带
系统 2019-09-27 17:46:29 1940
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 1940
这玩意反反复复弄了一晚上,这里详细叙述下如何安装,肯定会对大家有所帮助。首先默认大家都装了Python,这个从官网下基本不会有任何难度。(1)Setuptools的安装为啥先说这个,后面所有whl文件都要用这个安装。基本上没有几个教程先介绍这个的,这里说全一点,方便小白使用。我们装的是Setuptools0.6c11。别的版本不是不行,因为这个在Pypi上面直接有exe文件,反正就是方便。地址:https://pypi.python.org/pypi/se
系统 2019-09-27 17:38:37 1940
首先来描述下环境,在机器上有很多个JAVA程序,我们在每个JAVA程序里都配置了一个启动|停止|重启的脚本举个例子:我们现在要同时运行这些脚本,来达到快速启动所有的JAVA程序,如果我们只用多线程的话,线程是不会返回消息给父进程,我们如何才能知道这些程序是启动成功了呢?所以我们用到了队列来管理。"""我试过gevent,但是会在command这里造成阻塞"""gevent代码如下如果有朋友知道如何优化,请您告诉我#!/usr/bin/python2.7#-
系统 2019-09-27 17:38:36 1940
先给出结论:要替换的字符数量不多时,可以直接链式replace()方法进行替换,效率非常高;如果要替换的字符数量较多,则推荐在for循环中调用replace()进行替换。可行的方法:1.链式replace()string.replace().replace()1.x在for循环中调用replace()「在要替换的字符较多时」2.使用string.maketrans3.先re.compile然后re.sub……defa(text):chars=""for
系统 2019-09-27 17:38:36 1940
深入理解pythontry异常处理机制#python的try语句有两种风格#一:种是处理异常(try/except/else)#二:种是无论是否发生异常都将执行最后的代码(try/finally)try/except/else风格try:<语句>#运行别的代码except<名字>:<语句>#如果在try部份引发了'name'异常except<名字>,<数据>:<语句>#如果引发了'name'异常,获得附加的数据else:<语句>#如果没有异常发生#try的
系统 2019-09-27 17:38:34 1940