代码如下fromfake_useragentimportUserAgentfromlxmlimportetreeimportrequests,osimporttime,re,datetimeimportbase64,json,pymysqlfromfontTools.ttLibimportTTFontua=UserAgent()classCustomException(Exception):def__init__(self,status,msg):self
系统 2019-09-27 17:53:51 1871
python字符串替换是python操作字符串的时候经常会碰到的问题,这里简单介绍下字符串替换方法。python字符串替换可以用2种方法实现:1是用字符串本身的方法。2用正则来替换字符串下面用个例子来实验下:a='helloword'把a字符串里的word替换为python1、用字符串本身的replace方法复制代码代码如下:a.replace('word','python')输出的结果是hellopython2、用正则表达式来完成替换:复制代码代码如下:
系统 2019-09-27 17:53:34 1871
运行多进程每个子进程的内存空间是互相隔离的进程之间数据不能共享的互斥锁但是进程之间都是运行在一个操作系统上,进程之间数据不共享,但是共享同一套文件系统,所以访问同一个文件,或同一个打印终端,是可以的,而共享带来的是竞争,竞争带来的结果就是错乱#并发运行,效率高,但竞争同一打印终端,带来了打印错乱frommultiprocessingimportProcessimporttimedeftask(name):print("%s1"%name)time.slee
系统 2019-09-27 17:52:42 1871
建造者模式,也是一种创建新对象的设计方法,和C++中的虚函数很类似,但是用到了python自身的虚基类ABCMeta。1.应用场景:某个类中的函数较多,且实现比较复杂,很多时候需要继承的子类重载或者重新定义逻辑;2.背景基础:由于用到python中虚函数,需要了解abc模块中的ABCMeta和python中类创建对象时的__metaclass__属性含义。一般地,在某个类中如果定义__metaclass__=something时,简单地说是,创建对象时,会
系统 2019-09-27 17:52:26 1871
3.4.5断言断言(assertions)的使用方式类似于if语句,只是在不满足条件时,会直接抛出异常。类似于下面的if语句(伪代码)ifnotcondition:#如果不满足条件,会直接抛出异常,程序会中断crashprogram那么究竟为什么需要这样的代码呢?主要原因为需要检测程序在某个地方是否满足条件,如果不满足条件,应该及时通知开发人员,而不是将这些bug隐藏起来,知道关键的时候在崩溃。其实在TDD中经常使用断言,TDD会在程序发现异常时执行断言,
系统 2019-09-27 17:52:20 1871
#下载一个网页importrequestsimportreurl='https://www.biquge5200.cc/14_14621/'#模拟浏览器发送http请求response=requests.get(url)#编码方式response.encoding='utf-8',如果下载下来的网页内容有中文乱码现象就需要加上这一句话#网页源码html=response.text#[0]取列表下第0个元素.#eg:title的输出结果为:['斗神狂飙无弹窗
系统 2019-09-27 17:52:18 1871
首先,熟悉一个函数zip,如下是使用help(zip)对zip的解释。Helponbuilt-infunctionzipinmodule__builtin__:zip(...)zip(seq1[,seq2[...]])->[(seq1[0],seq2[0]...),(...)]Returnalistoftuples,whereeachtuplecontainsthei-thelementfromeachoftheargumentsequences.Ther
系统 2019-09-27 17:51:25 1871
模块Module定义包含一系列数据、函数、类的文件,通常以.py结尾。作用让一些相关的数据,函数,类有逻辑的组织在一起,使逻辑结构更加清晰。有利于多人合作开发。导入import1.语法:import模块名import模块名as别名2.作用:将某模块整体导入到当前模块中3.使用:模块名.成员fromimport1.语法:from模块名import成员名[as别名1]作用:将模块内的一个或多个成员导入到当前模块的作用域中。fromimport*1.语法:fro
系统 2019-09-27 17:51:00 1871
Python:1.print()函数:打印字符串2.raw_input()函数:从用户键盘捕获字符3.len()函数:计算字符长度4.format(12.3654,'6.2f'/'0.3%')函数:实现格式化输出5.type()函数:查询对象的类型6.int()函数、float()函数、str()函数等:类型的转化函数7.id()函数:获取对象的内存地址8.help()函数:Python的帮助函数9.s.islower()函数:判断字符小写10.s.spp
系统 2019-09-27 17:50:54 1871
记住以下几点:直接子类化内置类型(如dict,list或str)容易出错,因为内置类型的方法通常会忽略用户覆盖的方法,不要子类化内置类型,用户自定义的类应该继承collections模块。def__setitem__(self,key,value):super().__setitem__(key,[value]*2)#错误案例classAnswerDict(dict):def__getitem__(self,item):#错误案例return42impor
系统 2019-09-27 17:50:43 1871