python3之memcached

1、memcached介绍Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。Memcached是以LiveJournal旗下DangaInteractive公司的BradFitzpatric为首开发的一款软件。现在已成为mixi、hatena、Facebook、Vox、LiveJournal等众多服务中提高Web应用扩展性的重要因素。Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。本质上,它是一个简洁的key-value存储系统。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。memcached分布式缓存服务器的特点:协议简单、基于libevent的事件处理、内置内存存储方式、memcached不互相通信的分布式2、Memcached安装和基本使用Memcached支持许多...
ymnets ymnets·2020-03-25

python3迭代器和生成器

1、手动访问迭代器中的元素#要手动访问迭代器中的元素,可以使用next()函数In[3]:withopen('/etc/passwd')asf:...:try:...:whileTrue:...:print(next(f))#next()函数访问迭代中的函数...:exceptStopIteration:#捕获结束异常...:print('None')#通过指定返回结束值来判断迭代结束In[28]:withopen('/etc/passwd')asf:...:whileTrue:...:line=next(f,None)...:iflineisNone:...:break...:print(line)2、委托迭代classnode(object):def__init__(self,value):self._value=valueself._children=[]def__repr__(self):return'Node({!r})'.format(self._value)defadd_child(self,node):self._children.append(node)def__it...
ymnets ymnets·2020-03-25

python3数字、日期和时间

1、对数值进行取整#使用内建的round(value,ndigits)函数来取整,ndigits指定保留的位数,在取整时会取值在偶数上,如1.25取一位会取整1.2,1.26会取整1.3In[1]:round(1.23,1)Out[1]:1.2In[2]:round(1.25,1)Out[2]:1.2In[3]:round(1.26,1)Out[3]:1.3In[4]:round(1.2645,3)Out[4]:1.264#如果参数ndigits为负数的话会相应的取整到十位、白位和千位In[1]:a=1234567In[2]:round(a,-1)Out[2]:1234570In[3]:round(a,-3)Out[3]:1235000#通过格式化操作取小数精度In[4]:x=1.23456In[5]:format(x,'0.2f')Out[5]:'1.23'In[6]:'valueis{:0.3f}'.format(x)Out[6]:'valueis1.235'2、执行精确的小数计算#在数学计算中由于CPU的浮点运算单元特性导致会引入微小的误差In[11]:a=4.2In[12]:b...

python3字符串与文本处理

每个程序都回涉及到文本处理,如拆分字符串、搜索、替换、词法分析等。许多任务都可以通过内建的字符串方法来轻松解决,但更复杂的操作就需要正则表达式来解决。1、针对任意多的分隔符拆分字符串In[1]:line='asdffjdk;afed,fjek,asdf,foo'#使用正则模块In[2]:importre#使用正则split方法可以匹配多分割符In[3]:re.split(r'[;,s]s*',line)Out[3]:['asdf','fjdk','afed','fjek','asdf','foo']#使用捕获组分割会将匹配的文本也包含在最终结果中In[4]:re.split(r'(;|,|s)s*',line)Out[4]:['asdf','','fjdk',';','afed',',','fjek',',','asdf',',','foo']#如果不想在结果中看到分隔符,可以受用?:的形式使用非捕获组In[5]:re.split(r'(?:,|;|s)s*',line)Out[5]:['asdf','fjdk','afed','fjek','asdf','foo']2、在字符串的开头...

python3数据结构与算法

python内置的数据结构包括:列表(list)、集合(set)、字典(dictionary),一般情况下我们可以直接使用这些数据结构,但通常我们还需要考虑比如搜索、排序、排列以及赛选等一些常见的问题。如何巧妙的使用数据结构和同数据有关的算法,在collections模块中包含了针对各种数据结构的解决方法。1、序列分解为变量In[5]:a=(4,5,6)In[6]:x,y,z=aIn[7]:xOut[7]:4In[8]:zOut[8]:6In[9]:yOut[9]:5In[10]:b=['python',222,(2018,9,30)]#嵌套分解变量In[11]:p,n,(year,mon,day)=bIn[12]:pOut[12]:'python'In[13]:nOut[13]:222In[14]:yearOut[14]:2018In[15]:dayOut[15]:30#可以分解的对象只要是可迭代对象如字符串、文件、迭代器和生成器In[16]:s='py'In[17]:x,y=sIn[18]:xOut[18]:'p'#忽略某个值使用下划线代替In[19]:data='python'I...

python3光学字符识别模块tesserocr与pytesseract

OCR,即OpticalCharacterRecognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程,对应图形验证码来说,它们都是一些不规则的字符,这些字符是由字符稍加扭曲变换得到的内容,我们可以使用OCR技术来讲其转化为电子文本,然后将结果提取交给服务器,便可以达到自动识别验证码的过程tesserocr与pytesseract是Python的一个OCR识别库,但其实是对tesseract做的一层PythonAPI封装,pytesseract是Google的Tesseract-OCR引擎包装器;所以它们的核心是tesseract,因此在安装tesserocr之前,我们需要先安装tesseract1、安装tesseract、tesserocr、pytesseract (1)windows下的安装下载tesseract:https://digi.bib.uni-mannheim.de/tesseract/tesseract-ocr-w64-setup-v4.0.0-beta.1.20180414.exe然后双击程序安装即可,可以勾选Additi...

python3之成像库pillow

python提供了pythonimagelibrary图像库,处理图像功能,该库提供了广泛的文件格式支持,如JPEG、PNG、GIF、等,它提供了图像档案、图像显示、图像处理等功能PIL中所涉及到的基本概念包括,(bands)通道,(mode)模式,(coordinatesystem)坐标系统,(palette)调色板,(filters)过滤器每张图像都是由一个或者多个数据通道构成,PIL可以在单张图片中合成相同维数和深度的多个通道,如RGB有三个通道,而灰度图像则只有一个通道图像实际上是像素数据的矩形图,图像的模式定义了图像中像素的类型和深度,它在图像中定义mode模式的概念,如:1:1位像素,表示黑和白,占8bit,在图像表示中称为位图L:表示黑白之间的灰度,占8bit像素p:8位像素,使用调色版映射RGB:为真彩色,占用3x8位像素,其中R为red红色,G为green绿色,B为blue蓝色,三原色叠加形成的色彩变化,如三通道都为0则代表黑色,都为255则代表白色RGBA:为带透明蒙版的真彩色,其中的A为alpha透明度,占用4x8位像素其他的还有打印分色CMYK不是很常用不多做介...
ymnets ymnets·2020-03-25

python3之Splash

Splash是一个javascript渲染服务。它是一个带有HTTPAPI的轻量级Web浏览器,使用Twisted和QT5在Python3中实现。QT反应器用于使服务完全异步,允许通过QT主循环利用webkit并发。一些Splash功能:并行处理多个网页获取HTML源代码或截取屏幕截图关闭图像或使用AdblockPlus规则使渲染更快在页面上下文中执行自定义JavaScript可通过Lua脚本来控制页面的渲染过程在Splash-Jupyter笔记本中开发SplashLua脚本。以HAR格式获取详细的渲染信息1、Scrapy-Splash的安装Scrapy-Splash的安装分为两部分,一个是Splash服务的安装,具体通过Docker来安装服务,运行服务会启动一个Splash服务,通过它的接口来实现JavaScript页面的加载;另外一个是Scrapy-Splash的Python库的安装,安装后就可在Scrapy中使用Splash服务了,下面我们分三部份来安装:(1)安装Docker#安装所需要的包:yuminstall-yyum-utilsdevice-mapper-persiste...
ymnets ymnets·2020-03-25

python3 web测试模块selenium

selenium是一个用于web应用程序测试工具,selenium测试直接运行在浏览器中,就像真正的用户在操作一样,支持的浏览器包括IE(7,8,9,10,11),mozillafirefox,safari,googlechrom,opera等,可使用java,python等多种语言编写用例脚本。SeleniumPython绑定提供了一个简单的API,可以使用SeleniumWebDriver编写功能/验收测试。通过SeleniumPythonAPI,您可以直观地访问SeleniumWebDriver的所有功能。SeleniumPython绑定提供了一个方便的API来访问SeleniumWebDrivers,如Firefox,Ie,Chrome,Remote等。目前支持的Python版本是2.7,3.5及更高版本1、selenium安装配置pip安装:pipinstallseleniumwheel安装:#下载wheel安装文件:https://pypi.python.org/pypi/selenium/#downloadspipinstallselenium-3.13.0-py2.py...

python3之MongoDB

1、MongoDB简介MongoDB是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB文档类似于JSON对象。字段值可以包含其他文档,数组及文档数组。主要特点:MongoDB是一个面向文档存储的数据库,操作起来比较简单和容易。你可以在MongoDB记录中设置任何属性的索引(如:FirstName="Sameer",Address="8GandhiRoad")来实现更快的排序。你可以通过本地或者网络创建数据镜像,这使得MongoDB有更强的扩展性。如果负载的增加(需要更多的存储空间和更强的处理能力),它可以分布在计算机网络中的其他节点上这就是所谓的分片。Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。MongoDb使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段。Mongodb中...
ymnets ymnets·2020-03-25

python3csv与xlsx文件操作模块(csv、xlsxwriter)

1、CSV介绍CSV,全称为Comma-SeparatedValues,它以逗号分隔值,其文件以纯文本形式存储表格数据,该文件是一个字符序列,可以由任意数目的记录组成,每条记录有字段组成,字段间分隔符是逗号或制表符,相当于结构化的纯文本形式,它比Excel文件更简洁,用来存储数据比较方便2、CSV常用类与方法csv.reader(csvfile,dialect='excel',**fmtparams)遍历CSV文件对象并返回,csvfiel可以是任何支持迭代器协议的对象,如果csvfile是一个文件对象,它需要指定newline=''csv.writer(csvfile,dialect='excel',**fmtparams)写入数据到csv文件中,csvfile可以是具有写入方法的任何对象,如果csvfiel是一个文件对象,应该用newline=''指定换行符(unix上位'',windows上位'')#!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2018/6/2711:44#@Author:Py.qi#@File:csv_file1.p...

python3解析库pyquery

pyquery是一个类似jquery的python库,它实现能够在xml文档中进行jQuery查询,pyquery使用lxml解析器进行快速在xml和html文档上操作,它提供了和jQuery类似的语法来解析HTML文档,支持CSS选择器,使用非常方便1、pyquery安装pip方式安装:$pipinstallpyquery#它依赖cssselect和lxml包pyquery==1.4.0-cssselect[required:>0.7.9,installed:1.0.3]#CSS选择器并将它转换为XPath表达式-lxml[required:>=2.1,installed:4.2.2]#处理xml和html解析库验证安装:In[1]:importpyqueryIn[2]:pyquery.textOut[2]:<module'pyquery.text'from'/root/pp1/.venv/lib/python3.6/site-packages/pyquery/text.py'>2、pyquery对象初始化pyquery首先需要传入HTML文本来初始化一个py...

python3之Django表单(一)

1、HTML中的表单在HTML种,表单是在<form>...</form>种的元素,它允许用户输入文本,选择选项,操作对象等,然后发送这些数据到服务器表单元素允许用户在表单种输入内容如,文本域(textarea)、下拉列表、单选框(radio-buttons)、复选框(checkboxes)等。大多数情况下被用到的表单标签是输入标签(<input>),输入类型是由类型属性(type)定义的,大多数经常被用到的输入类型下面做简单介绍:(1)文本域(TextFields)文本域通过<inputtype="text">标签来设定,当用户要在表单种输入字母,数字等内容是,就会用到文本域,在大多数浏览器种,文本域的缺省宽度是20个字符:<form>姓名:<inputtype="text"name="username"><br></form>(2)密码字段密码字段通过标签<inputtype="password">来定义,密码字段字符不会明文显示,而是以星号或圆点替代:<form>...
ymnets ymnets·2020-03-25

python3Django模型(一)

1、模型概述模型是关于您的数据的唯一,明确的信息来源,它包含您正在存储的数据的重要字段和行为。通常,每个模型映射到单个数据库表。每个模型都是一个子类的python类django.db.models.Model模型的每个属性表示一个数据字段综上所述,Django为您提供了一个自动生成的数据库访问API。简单实例:在app下的models中创建person类:classperson(models.Model):first_name=models.CharField(max_length=30)last_name=models.CharField(max_length=30)first_name和last_name是模型的命名字段,每个字段都被指定为一个类属性,并且每个属性映射到一个数据表的列上,上面的person模型会创建一个如下的SQL数据库表语句:CREATETABLEmyapp_person("id"serialNOTNULLPRIMARYKEY,"first_name"varchar(30)NOTNULL,"last_name"varchar(30)NOTNULL);其中表的名称以...
ymnets ymnets·2020-03-25

爬虫入门【11】Pyspider框架入门—使用HTML和CSS选择器下载小说

首先我们要安装好pyspider,可以参考上一篇文章。从一个web页面抓取信息的过程包括:1、找到页面上包含的URL信息,这个url包含我们想要的信息2、通过HTTP来获取页面内容3、从HTML中提取出信息来4、然后找到更多的URL,回到第2步继续执行~我推荐一部小说给大家《恶魔法则》。今天我们从网上将这部小说的内容按照章节下载下来。小说目录的url为https://www.ybdu.com/xiaoshuo/4/4646/我们现在控制台命令行中输入pyspiderall,命令,然后打开浏览器,输入http://localhost:5000/。点击右面的Create按钮,输入项目名称,点击创建即可。【插入图片,创建项目】创建项目之后,在浏览器出现一个框架,左面是结果显示区,最主要的是一个run命令。右面是我们输入代码的内容。由于这个代码编辑界面不太友好,建议我们将代码拷贝到pycharm中,编辑好或者修改好之后再复制回来运行。【插入图片,空白项目内容】我们如果访问https页面,一定要添加validate_cert=False,否则会报SSL错误。这一步主要是获取目录页。这个方法会获取...
首页上一页...343344345346347...下一页尾页