- 博客(36)
- 问答 (1)
- 收藏
- 关注
原创 python代码实现栈、队列、双端队列
一、栈- Stack() 创建一个空的新栈。 它不需要参数,并返回一个空栈。- push(item)将一个新项添加到栈的顶部。它需要 item 做参数并不返回任何内容。- pop() 从栈中删除顶部项。它不需要参数并返回 item 。栈被修改。- peek() 从栈返回顶部项,但不会删除它。不需要参数。 不修改栈。- isEmpty() 测试栈是否为空。不需要参数,并返回布尔值。- ...
2019-05-16 17:40:32 240
原创 计算代码的运行时间
- 实例化一个空列表,然后将0-n范围的数据添加到列表中。(四种方式)- timeit模块:该模块可以用来测试一段python代码的执行速度/时长。- Timer类:该类是timeit模块中专门用于测量python代码的执行速度/时长的。原型为:class timeit.Timer(stmt='pass',setup='pass')。 - stmt参数:表示即将进行测试的代...
2019-05-16 16:49:47 745
转载 Numpy
转自:波哥1、使用np.array()创建数组import numpy as npnp.array([1,2,3,4,5]) # 创建一个一维数组np.array([1,2,3],[4,5,6]) # 创建一个二维数组# numpy默认ndarray的所有元素类型是相同的# 如果传进来的列表中包含不同的类型,则统一为统一类型,优先级:str > float >...
2019-05-14 21:19:13 1685
原创 分布式爬虫
- 概念:使用多台机器组成一个分布式的机群,在机群中运行同一组程序,进行联合数据的爬取。 - 原生的scrapy是不可以实现分布式: - 原生的scrapy中的调度器不可以被共享 - 原生的scrapy的管道不可以被共享 - 如果实现分布式就必须使用scrapy-redis(模块) - 可以给原生的scrapy提供可以被共享的管道和...
2019-05-09 17:51:41 155
原创 scrapy知识点
1.持久化存储 - 编码流程: 1.数据解析 2.封装item类 3.将解析的数据存储到实例化好的item对象 4.提交item 5.管道接收item然后对item进行io操作 6.开启管道 - 注意事项: ...
2019-05-08 15:18:47 352
原创 爬虫三种数据解析方式
三种方式:正则匹配、bs4解析、xpath解析一、正则解析# 正则回顾 单字符: . : 除换行以外所有字符 [] :[aoe] [a-w] 匹配集合中任意一个字符 \d :数字 [0-9] \D : 非数字 \w :数字、字母、下划线、中文 \W : 非\w \...
2019-05-03 21:05:32 859 1
原创 requests模块
必知知识点-常见请求头User-Agent 浏览器的身份标识字符串 Content-Type 请求体的MIME类型 (用于POST和PUT请求中) -常见响应头Status 通用网关接口的响应头字段,用来说明当前HTTP连接的响应状态。 -https协议的加密方式对称秘钥(容易被拦截)非对称秘钥(模拟服务器响应)证书认证(第三方机构认证的,通信...
2019-05-03 18:11:31 453
原创 jupyter notebook 操作
- 插入cell:a,b-删除:x-执行:shift+enter-tab:补全-cell模式切换:y(marker->code) m(code->marker)-打开帮助文档:shift+tab
2019-05-03 17:44:20 165
原创 git使用
基础工作区: 当前的编辑位置缓存区: add 之后的区域版本库:commit之后的区域就是版本库git init . 初始化git add . 将工作区的所有文件添加到缓存区git commit -m “提交信息” 将缓存区的内容添加到版本库git status 查看当前的状态git reset --hard hash值 回退到指定的版本git checkout...
2019-04-22 21:12:16 274
原创 websocket实现群聊
server端from flask import Flask,request,render_templatefrom geventwebsocket.handler import WebSocketHandlerfrom gevent.pywsgi import WSGIServerfrom geventwebsocket.websocket import WebSocketapp...
2019-03-22 17:44:23 150
原创 websocket实现私聊
server代码:import jsonfrom flask import Flask,request,render_templatefrom geventwebsocket.handler import WebSocketHandlerfrom gevent.pywsgi import WSGIServerfrom geventwebsocket.websocket impor...
2019-03-22 17:41:35 1142
转载 websockert工作原理
转自DragenFire手写websocket握手import socket, base64, hashlibsock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)sock.bind(('127.0.0.1'...
2019-03-22 17:21:21 797
原创 Docker容器的学习
1.docker的三大概念镜像 ,理解为系统盘dvd镜像 ,轻量级的镜像文件 class 把运行路飞学诚的应用程序,打包成一个docker镜像仓库,存储docker镜像的容器 ,是基于镜像运行出的,容器实例2.安装及配置1.安装docker,由于网速问题,选择阿里云的yum源下载yum install docker -y...
2019-03-16 11:43:00 248
原创 部署前后端分离项目总结
1、前后端分离,vue前端提供静态页面,且可以向后台发起get,post等restful请求。django后台提供数据支撑,返回json数据,返回给vue,进行数据页面渲染。vue向后台发起请求 get 服务器ip:8000/课程列表django-rest-framework框架接收,“服务器ip:8000/课程列表 ” 请求,然后return返回一个json数据{"课程列表":...
2019-03-13 21:06:08 557
原创 supervisor的控制uwsgi+Nginx启动Django项目
项目部署,环境准备1.python3虚拟环境准备2.安装uwsgipip3 install uwsgi3.通过uwsgi启动django项目 1.进入项目的第一层 cd mydjango118 2.执行命令启动django uwsgi --http :8000 --module mydjango118.wsgi 4.热加载uws...
2019-03-13 20:43:09 411 1
原创 redis哨兵配置和redis-cluster搭建
redis主从一主两从的方案1.环境准备,准备一主两从的redis架构redis-6379.confport 6379daemonize yeslogfile "6379.log"dbfilename "dump-6379.rdb"dir "/opt/redis/6379/"redis-6380.confport 6380daemonize yeslogfile...
2019-03-13 20:31:36 641
原创 淘宝nginx的学习使用,安装及反向代理,负载均衡
1.淘宝nginx的学习使用,安装下载源码包http://tengine.taobao.org/download/tengine-2.2.0.tar.gz2.卸载掉之前,学习yum时候,安装的nginx软件,yum remove nginx -y3。解决编译安装nginx的软件依赖yum install gcc patch libffi-devel python-devel ...
2019-03-13 20:30:13 458
原创 Linux5
centos7安装mariadb1.yum 得配置yum源,配置阿里云的 两个 yum源 ,阿里云的yum源中,会有 mariadb的软件包阿里云的yum仓库中,mariadb版本如下mariadb x86_64 1:5.5.60-1.el7_5 os ...
2019-03-08 23:28:39 289
原创 Linux4
1.python的虚拟环境1.将当前机器上的解释器作为一个 本地,复制出的很多歌 虚拟解释器 物理机上的 本体解释器 ,什么事也不做分身1: 解释器1;虚拟环境1 运行django 1.11.11业务分身2 :虚拟环境2 运行django 2.2业务virtualenv 可以在系统中建立多个不同并且相互不干扰的虚拟环境。1.安装配置虚拟环境注...
2019-03-08 23:27:42 137
原创 Linux权限相关及yum源的配置
linux用户权限相关root用户 相当于qq群的群主sudo命令 相当于qq群的管理员普通用户 相当于qq群的 水军超级用户root的UID是 0 组ID也是 0 普通用户的UID是从 1000开始查看用户的id信息,用linux id命令 存放用户信息的文件 /etc/passwd创建普通用户 useradd 用户名更改普通用户密码...
2019-03-08 23:26:38 389
原创 linux基本命令及python3的环境配置
1.PS1变量,命令提示符的修改PS1="[\u@\h \W]\$"\u 代表 用户@ 占位符\h 主机名\W 工作路径的最后一位\t \w 工作路径的绝对路径PS1="[\u@\h \w \t]\$"#cat命令cat -n filename 显示文本的行号#linux特殊符号> 重定向 覆盖写入符>> 重定...
2019-03-08 23:25:36 1003
原创 Linux
服务器:性能超强的主机,并且对外提供服务的机器256G 内存条64核1.服务器的分类有钱的公司: -自建机房 -零度 -无尘 -无静电 -防止机器短路,断电,内存数据丢失 -数据托管中心 -世纪互联公司,服务器都托管在这创业型公司: 租的阿里云服务器,云服务...
2019-03-08 23:24:32 112
原创 python装饰器理解
装饰器: 在不改变原函数的代码和调用方法的基础上,给原函数增加额外的功能理解声明:为了方便理解,以下例子采用最简洁的函数和添加的功能(给原函数添加一个执行时间)import time def timer(func): def inner(): func() return inner@timer # func = timer(fun...
2019-01-22 22:35:41 119
原创 python面向对象基础
摘自:女神博客面向过程与面向对象面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好的一条流水线,考虑周全什么时候处理什么东西。优点:极大降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可。缺点:一套流水线或者流程就是解决一个问题,代码牵一发而动全身。应用场景:一旦完成基本很少改变的场景,著名的例子有Linux内核,git...
2018-12-08 14:52:00 120
原创 正则表达式
应用场景: 匹配字符串规则 (字符串:用户输入、文件读取、网络传输) 表单验证:注册页面 、身份证号、手机号码、邮箱、银行卡号 从文件中获取想要的信息 爬虫,从网页中批量的获取数据(重要啊)。字符组:字符组是指一个字符上允许出现的字符[0-9] 只允许出现0-9[A-...
2018-12-04 23:37:26 81
原创 python常用模块续
os模块os模块是操作系统交互模块os模块中的各种常用方法:os.remove('文件名') 删除指定文件os.rename('旧文件名','新文件名') 更改一个文件的文件名os.mkdir('dirname') 创建一个文件夹os.rmdir('...
2018-12-04 22:21:26 84
原创 python中的常用模块
time模块1、计算代码执行用时,测试效率2、日志,程序执行中(用户的行为)的记录。3、定时器4、记录用户重要时间:出生日期/注册日期/入职日期等Python程序中,时间共有三种模式:时间戳时间、结构化时间、格式化时间import timetimestame = time.time() #获得当前时间的时间戳时间struct_time = time.localtim...
2018-12-03 21:57:40 145
原创 总结python2与python3的区别
1、python2中range返回的是一个列表,xrange返回的是一个可迭代对象。 python3中range返回的是一个可迭代对象。2、python2中的True和False是两个全局变量,对应的值分别是1,0。 python3中把True和False定义为关键字,永远是两个固定的对象,不能赋值。3、python2中的默认编码为Ascii码。 ...
2018-11-29 18:50:56 162
原创 Python中的匿名函数
匿名函数:顾名思义就是没有函数名的函数。一般用来解决功能简单需求的一句话函数。把普通函数转换为匿名函数:def calc(n): return n*nprint(calc(5))#转换calc = lambda n:n*nprint(calc(5))匿名函数的格式综上:函数名 = lambda 参数:返回值参数可以有多个用逗号隔开匿名函数不管多复杂,只...
2018-11-26 23:25:09 121
原创 python中的内置函数
说起内置函数,脑壳痛,然后整理了下。这么看着比较舒服了。先从分类中少的说起吧作用域相关:global():获取全局变量的字典。local():获取执行本方法所在命名空间内的局部变量的字典(在全局中执行得到的结果与global()得到的结果相同)。迭代器生成器相关:next():调用迭代器或生成器中的一个值iter():iterable.iter() = ...
2018-11-18 21:22:22 153
原创 python中的可迭代对象与迭代器
可迭代协议:只要含有‘__iter__()’方法的数据类型都是可迭代的可迭代对象:列表,字符串,等。整数类型不可迭代特点:可迭代对象都可用for循环。检测某个变量/值是否为可迭代的方法:方法一:print('__iter__' in dir([]))print('__iter__' in dir(123))结果为:TrueFalse提示:dir()是pyth...
2018-11-06 18:54:44 200
原创 python中的小数据池
1、什么是小数据池?理解:python自动将-5~256的整数、有一定规则的字符串、都放在一个池中,只要是变量是这些范围内的整数或者是字符串,则直接引用,不需要另外开辟一块内存小数据池的应用数据类型:-5~256之间的整数、字符串、bool值2、小数据池的作用?1)节省内存2)提高性能和效率只要数据范围是-5~256之间,多个变量都是指向这个范围中的数字时,就是指向同一个内...
2018-11-04 20:38:32 242
原创 windows安装python库
1、按键盘 WIN+R2、输入pip install + 库名称 回车即可3、4、查看已经安装好的库 pip list5、安装成功
2018-09-09 13:40:48 396
原创 Ubuntu 小白起步
可能遇到的问题:创建虚拟机时忘记设置语言,由于英文不好不知道如何将系统语言改成中文;步骤:1、打开终端2、$sudo apt-get install language-selector-gnome3、$sudo apt-get install language-zh-hans4、重新启动虚拟机5、进入设置里面找到language,就可以看到有中文(简体),点击中文简体,拖拽...
2018-08-27 17:46:21 226
空空如也
mongo数据量不是很大,插入数据变慢
2020-09-01
TA创建的收藏夹 TA关注的收藏夹
TA关注的人