一、前端概述importsocketdefmain():sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.bind(('localhost',8089))sock.listen(5)whileTrue:connection,address=sock.accept()buf=connection.recv(1024)connection.sendall(bytes("HTTP/1.1201OK
系统 2019-09-27 17:50:36 2286
前言使用python实现设计模式中的单例模式。单例模式是一种比较常用的设计模式,其实现和使用场景判定都是相对容易的。本文将简要介绍一下python中实现单例模式的几种常见方式和原理。一方面可以加深对python的理解,另一方面可以更加深入的了解该模式,以便实际工作中能更加灵活的使用单例设计模式。本文将介绍常见的实现单例模式的几种方式,这里暂不考虑多线程的情况。为了准备该篇博文,之前写了几篇相关的文章依次完整的介绍了相关的概念,下面会在需要的时候给出链接。装
系统 2019-09-27 17:48:26 2286
一、列表元素的追加和插入append():追加一个元素到列表extend():列表拉伸,追加多个元素到列表insert():在指定索引处插入元素二、列表元素的删除pop(a):弹出列表中索引为a的元素,默认为列表最后一个元素pop()弹出的值可用变量接收remove():删除列表元素del:从内存种删除一个元素三、列表元素的重新赋值1、通过索引,重新赋值2、通过切片赋值四、列表元素的排序x.sort()#列表排序,默认按照ascii排序x.sort(rev
系统 2019-09-27 17:48:02 2286
join()方法方法返回一个在序列的字符串元素被加入了由str分隔的字符串。语法以下是join()方法的语法:str.join(sequence)参数sequence--这是要连接的元素的顺序。返回值此方法返回一个字符串,在序列seq字符串的连接。元素之间的分离器是字符串str。例子下面的示例演示了join()方法的使用。#!/usr/bin/pythonstr="-";seq=("a","b","c");#Thisissequenceofstrings.
系统 2019-09-27 17:47:13 2286
1、序列中元素的索引:第一个元素索引是0,第二个是1,依次递增最后一个元素索引是-1,倒数第二个是-2,依次递减2、序列(Sequence)的种类:列表(list)、元组(tuple)、字符串(string)、Unicode字符串、buffer对象、xrange对象3、列表和元组的区别:列表可以进行修改,但是元组不行4、tuple常作为字典的键5、序列都可以进行以下操作:索引(indexing)、分片(sliceing)、加(adding)、乘(multi
系统 2019-09-27 17:37:36 2286
在数据分析领域,最热门的莫过于Python和R语言,此前有一篇文章《别老扯什么Hadoop了,你的数据根本不够大》指出:只有在超过5TB数据量的规模下,Hadoop才是一个合理的技术选择。这次拿到近亿条日志数据,千万级数据已经是关系型数据库的查询分析瓶颈,之前使用过Hadoop对大量文本进行分类,这次决定采用Python来处理数据:硬件环境CPU:3.5GHzIntelCorei7内存:32GBHDDR31600MHz硬盘:3TBFusionDrive数据
系统 2019-09-27 17:57:15 2285
前言Python提供给我们多种编码方式。在某种程度上,这相当具有包容性。来自于任何语言的人都可以编写Python。然而,学习写一门语言和以最优的方式写一门语言是两件不同的事情。在这一系列名为PythonShorts的文章中,我将阐述Python提供的一些简单但是非常有用的结构,一些小技巧以及一些我在数据科学工作中遇到的案例。在这篇文章中,我将讨论Python中的for循环,以及如何尽量避免使用它们。写for循环的3种方式:让我用一个简单的例子来解释下。假设
系统 2019-09-27 17:56:07 2285
直接送上代码importurllib.requestimportjsonimportjsonpathimporttimeend_page=int(input('请输入爬取的结束页码:'))foriinrange(0,end_page+1):print('第%s页开始爬取------'%(i+1))url='https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_c
系统 2019-09-27 17:54:07 2285
BloomFilter&python支持BloomFilter布隆过滤器是一种概率空间高效的数据结构。它与hashmap非常相似,用于检索一个元素是否在一个集合中。它在检索元素是否存在时,能很好地取舍空间使用率与误报比例。即BloomFilter是会误判的,它只会把不存在于集合中的元素误判成存在于集合中,而不会把存在于集合中的元素误判成不存在集合中。正是由于这个特性,它被称作概率性数据结构(probabilisticdatastructure)。Bloom
系统 2019-09-27 17:54:06 2285
回顾一下已有的战果:(1)连接数据库;(2)建立指针;(3)通过指针插入记录;(4)提交将插入结果保存到数据库。在交互模式中,先温故,再知新。复制代码代码如下:>>>#导入模块>>>importMySQLdb>>>#连接数据库>>>conn=MySQLdb.connect(host="localhost",user="root",passwd="123123",db="qiwsirtest",port=3036,charset="utf8")>>>#建立指
系统 2019-09-27 17:53:49 2285
一、前言以前使用selenium的无头浏览器,自从phantomjs2016后慢慢不更新了之后,selenium也开始找下家,这时候谷歌的chrome率先搞出来无头浏览器并开放了各种api,随后firefox也开始做。现在selenium的测试也都支持这两个浏览器的无头模式了,只需要在引入的时候配置一下就可以了。之所以要采用谷歌chrome官方无头框架puppeteer的python版本pyppeteer,是因为有些网页是可以检测到是否是使用了seleni
系统 2019-09-27 17:52:58 2285
计算两个信号的交叉谱密度结果展示:完整代码:importnumpyasnpimportmatplotlib.pyplotaspltfig,(ax1,ax2)=plt.subplots(2,1)#makealittleextraspacebetweenthesubplotsfig.subplots_adjust(hspace=0.5)dt=0.01t=np.arange(0,30,dt)#Fixingrandomstateforreproducibility
系统 2019-09-27 17:52:40 2285
Python正则表达式匹配数字电话号码:\d{3}-\d{8}|\d{4}-\d{7}QQ号:[1-9][0-9]{4,}中国邮政编码:[1-9]\d{5}(?!\d)身份证:\d{15}|\d{18}ip地址:\d+\.\d+\.\d+\.\d+[1-9]\d*正整数-[1-9]\d*负整数-?[1-9]\d*整数[1-9]\d*|0非负整数-[1-9]\d*|0非正整数[1-9]\d*\.\d*|0\.\d*[1-9]\d*$正浮点数-([1-9]\d
系统 2019-09-27 17:50:40 2285
什么是python的迭代如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们称为迭代(Iteration)。(在Python中,迭代是通过for...in来完成的)Python的for循环抽象程度要高于C的for循环,因为Python的for循环不仅可以用在list或tuple上,还可以作用在其他可迭代对象上。(可以直接作用于for循环的对象统称为可迭代对象(Iterable),如list、tuple、dic
系统 2019-09-27 17:50:30 2285
1.安装python-crontabpipinstallpython-crontab2.设置定时任务fromcrontabimportCronTabmy_cron=CronTab(user='xxx')job1=my_cron.new(command='pythonxxx1.py')job1.minute.every(6)#定周期任务,每6分钟运行一次job2=my_cron.new(command='pythonxxx2.py')job2.hour.ev
系统 2019-09-27 17:50:23 2285