• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






守护式等待

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

12 2018 档案

 
Git 中 SSH key 生成步骤
摘要:Git 中 SSH key 生成步骤 由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的,所以必须要让github仓库认证你SSH key,在此之前,必须要生成SSH key。 首先要安装git工具 git下载地址 git安装教程 第1步:创建SSH Key。在windows下查看[c 阅读全文
posted @ 2018-12-29 09:59 守护式等待 阅读(244) 评论(0) 推荐(0)
django中使用mysql数据库的事务
摘要:django中怎么使用mysql数据库的事务 Mysql数据库事务: 在进行后端业务开始操作修改数据库时,可能会涉及到多张表的数据修改,对这些数据的修改应该是一个整体事务,即要么一起成功,要么一起失败。 Django中对于数据库的事务,默认每执行一句数据库操作,便会自动提交。我们需要在保存数据库操作 阅读全文
posted @ 2018-12-28 13:57 守护式等待 阅读(422) 评论(0) 推荐(0)
Django中使用mysql数据库并使用原生sql语句操作
摘要:Django自身默认使用sqlite3这个轻量级的数据库,但是当我们开发网站时,sqlite3就没有mysql好,sqlite3适合一些手机上开发使用的数据库。 准备的软件mysql数据库,版本5.7及以上。navicat,(可选的)。使用navicat主要是简化我们对数据库的操作。没有也一样。安装 阅读全文
posted @ 2018-12-28 13:38 守护式等待 阅读(2003) 评论(0) 推荐(0)
Django2.0 path和re_path reverse使用
摘要:Django2.0发布后,很多人都拥抱变化,加入了2的行列。但是和1.11相比,2.0在url的使用方面发生了很大的变化,下面介绍一下: 一、实例 先看一个例子: 注意: 匹配例子: /articles/2005/03/ 将匹配第三条,并调用views.month_archive(request, 阅读全文
posted @ 2018-12-28 11:09 守护式等待 阅读(1631) 评论(0) 推荐(0)
数据的特征工程
摘要:特征工程的意义 更好的特征意味着更强的鲁棒性 更好的特征意味着只需用简单模型 更好的特征意味着更好的结果 特征工程之特征处理 特征工程中最重要的一个环节就是特征处理,特征处理包含了很多具体的专业技巧 特征预处理 单个特征 归一化 标准化 缺失值 多个特征 降维 PCA 单个特征 归一化 标准化 缺失 阅读全文
posted @ 2018-12-27 09:52 守护式等待 阅读(787) 评论(0) 推荐(0)
30种提高mysql处理速度的方法
摘要:1、应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。 2、对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 3、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引 阅读全文
posted @ 2018-12-26 15:24 守护式等待 阅读(1915) 评论(0) 推荐(0)
机器学习资料
摘要:1.scikit-learn中文文档 2.ApacheCN中文开源组织 3.tensorflow中文文档 4.spark中文文档 阅读全文
posted @ 2018-12-21 13:53 守护式等待 阅读(105) 评论(0) 推荐(0)
python3.6安装-windows
摘要:1.打开python官网 2.找到下载链接 3.选择对应的版本下载 4.下载完成后打开安装包并执行,运行出该界面。 5.这里是安装到C盘上(默认安装) 6.此处为自定义安装 7.选择自定义安装,并全选安装,其中安装pip,可使用“Tornado”web框架等模块。 8.开始安装过程,请耐心等待 9. 阅读全文
posted @ 2018-12-21 10:51 守护式等待 阅读(211) 评论(0) 推荐(0)
python import sklearn出错 "ImportError: DLL load failed: 找不到指定的模块。
摘要:安装好sklearn模块后,import的时候出现了以下错误: 但是确实已经装好了,百思不得其解,网上查找之后发现,出现错误原因:安装包的来源问题,也可以理解为包版本兼容问题,有的包使用官方出版,有的包使用whl文件安装 解决方案:将所有包都统一来源,要么全部使用官方出版的包,要么全部使用whl里面 阅读全文
posted @ 2018-12-20 20:25 守护式等待 阅读(1919) 评论(0) 推荐(0)
百度指数
摘要:百度指数数据是拼成图片在客户端显示,要用到OCR识别,在此我了google和百度自带的两张OCR识别 阅读全文
posted @ 2018-12-20 10:14 守护式等待 阅读(1098) 评论(0) 推荐(0)
google image
摘要:google图片抓取 google图片是base64加密的,而且base64后的信息放在script信息里面 阅读全文
posted @ 2018-12-19 17:09 守护式等待 阅读(1568) 评论(0) 推荐(0)
CFDA
摘要:cfda数据抓取 1.网站数据是加密的,需要浏览器进行数据解析 2.网址url有js加密 3.PhantomJS无法解析数据, chrome无法获取数据,所有最终选择用Firefox浏览器 阅读全文
posted @ 2018-12-19 17:03 守护式等待 阅读(623) 评论(0) 推荐(0)
获取当前ip
摘要:测ip地址http://2018.ip138.com/ic.asphttps://www.ip.cn/ 阅读全文
posted @ 2018-12-19 14:56 守护式等待 阅读(255) 评论(0) 推荐(0)
编码问题
摘要:1.unicode_escape转中文 print("\u6d77\u5916".encode("unicode_escape").decode("unicode_escape")) 2.忽略部分编码错误 decode('gb2312', 'ignore') odec can't decode by 阅读全文
posted @ 2018-12-19 14:15 守护式等待 阅读(132) 评论(0) 推荐(0)
docker
摘要:启动docker docker run 启动容器--name=bt5 取个名字-d 后台启动--net 选择容器的网络类型host 使用本地网络-v 挂载卷/data1/home/teng.li/dockerfiles 本地服务器目录路径/my_python 容器自动创建-w 指定工作目录/my_p 阅读全文
posted @ 2018-12-19 14:04 守护式等待 阅读(181) 评论(0) 推荐(0)
Scrapyd 的远程部署和监控
摘要:1. 安装Scrapyd sudo pip3.6 install scrapyd # 安装scrapyd服务 sudo pip3.6 install scrapyd-client # 安装scrapyd客户端 1.1 修改default_scrapyd.conf文件 使外部能访问 vim /usr/ 阅读全文
posted @ 2018-12-19 13:52 守护式等待 阅读(1199) 评论(0) 推荐(0)
selenium 浏览器常用设置和部署
摘要:chrome实用参数 1 --allow-outdated-plugins 不停用过期的插件。 2 --allow-running-insecure-content 默认情况下,https 页面不允许从 http 链接引用 javascript/css/plug-ins。添加这一参数会放行这些内容。 阅读全文
posted @ 2018-12-18 11:27 守护式等待 阅读(1733) 评论(0) 推荐(0)
setting 常用配置
摘要:一,保存logging 信息 # 保存log信息的文件名 LOG_LEVEL = "INFO" LOG_STDOUT = True LOG_ENCODING = 'utf-8' # 路径 os.path.dirname(os.path.dirname(os.path.dirname(__file__ 阅读全文
posted @ 2018-12-17 20:29 守护式等待 阅读(767) 评论(0) 推荐(0)
requests
摘要:一,requests发请求 s = requests.Session() payload = {'key1': 'value1', 'key2': 'value2'} proxies = {'http': 'http://47.98.163.18:8080', 'https': 'http://47 阅读全文
posted @ 2018-12-17 16:25 守护式等待 阅读(1111) 评论(0) 推荐(0)
scrapy 常用代码
摘要:一,scrapy请求 yield scrapy.Request(url=url, dont_filter=True, callback=self.page, meta={'item': copy.deepcopy(item)}) yield scrapy.FormRequest(url=self.u 阅读全文
posted @ 2018-12-17 16:05 守护式等待 阅读(593) 评论(0) 推荐(0)
pycahrm 基础设置
摘要:一些常用设置: 1. pycharm默认是自动保存的,习惯自己按ctrl + s 的可以进行如下设置:1. file -> Setting -> General -> Synchronization -> Save files on frame deactivation 和 Save files a 阅读全文
posted @ 2018-12-17 15:57 守护式等待 阅读(243) 评论(0) 推荐(0)
pycahrm 激活
摘要:Linux在/etc/hosts中添加 0.0.0.0 account.jetbrains.com就好,直接添加:0.0.0.0 account.jetbrains.comwindows的话没记错应该在C:\Windows\System32\drivers\etc\hosts 阅读全文
posted @ 2018-12-17 15:56 守护式等待 阅读(316) 评论(0) 推荐(0)
pycharm 常用快捷键
摘要:1、编辑(Editing) Ctrl + Space 基本的代码完成(类、方法、属性)Ctrl + Alt + Space 快速导入任意类Ctrl + Shift + Enter 语句完成Ctrl + P 参数信息(在方法中调用参数)Ctrl + Q 快速查看文档Shift + F1 外部文档Ctr 阅读全文
posted @ 2018-12-17 15:56 守护式等待 阅读(300) 评论(0) 推荐(0)
platform 系统是windows还是liunx
摘要:import platform # 判断当前代码运行的系统是windows还是liunx print(platform.architecture()) print(platform.platform()) print(platform.system()) if 'indow' in platform.system(): symbol = r'\\' else: symbol = r'... 阅读全文
posted @ 2018-12-17 15:53 守护式等待 阅读(456) 评论(0) 推荐(0)
mysql 常用语句
摘要:一,设置表自增id从1开始 alter table papa_group(表名称) AUTO_INCREMENT=1 二,查看每个字段的重复次数 select drugLicense,count(*) as count from drug_instruction20181211 group by d 阅读全文
posted @ 2018-12-17 15:51 守护式等待 阅读(112) 评论(0) 推荐(0)
ubuntu设置网络
摘要:设置网络ipvi /etc/network/interfaces复制进去auto ens33iface ens33 inet static# 192.168.1.246 ip地址address 192.168.1.246netmask 255.255.255.0# dns服务器 192.168.1. 阅读全文
posted @ 2018-12-17 15:48 守护式等待 阅读(144) 评论(0) 推荐(0)
Pandas时间序列
摘要:Pandas时间序列 pandas 提供了一组标准的时间序列处理工具和数据算法 数据类型及操作 Python 标准库的 datetime datetime 模块中的 datetime、 time、 calendar 等类都可以用来存储时间类型以及进行一些转换和运算操作。 datetime 对象间的减 阅读全文
posted @ 2018-12-17 15:31 守护式等待 阅读(438) 评论(0) 推荐(0)
Pandas绘图
摘要:在DataFrame中,plot()可以绘制所有带有标签的列 阅读全文
posted @ 2018-12-17 15:29 守护式等待 阅读(319) 评论(0) 推荐(0)
pandas库的数据类型运算
摘要:pandas库的数据类型运算 算数运算法则 根据行列索引,补齐运算(不同索引不运算,行列索引相同才运算),默认产生浮点数 补齐时默认填充NaN空值 二维和一维,一维和0维之间采用广播运算(低维元素与每一个高维元素运算) 采用 +-*/符号的二元运算会产生新的对象 除了使用+-*/,也可使用方法形式, 阅读全文
posted @ 2018-12-17 15:28 守护式等待 阅读(310) 评论(0) 推荐(0)
Pandas分类
摘要:Pandas分类 categorical data是指分类数据:数据类型为:男女、班级(一班、二班)、省份(河北、江苏等),若使用赋值法给变量赋值,例如(男=1,女=0),数字1,0之间没有大小之分,不能认为1是比0大的。 numerical data是指数值型数据:收入(1000元,500元),是 阅读全文
posted @ 2018-12-17 15:28 守护式等待 阅读(620) 评论(0) 推荐(0)
Pandas数据排序
摘要:Pandas数据排序 .sort_index() 在指定轴上根据索引进行排序,索引排序后内容会跟随排序 .sort_values() 在指定轴上根据数值进行排序,默认升序 Series.sort_values(axis=0,ascending=True) DataFrame.sort_values( 阅读全文
posted @ 2018-12-17 15:27 守护式等待 阅读(309) 评论(0) 推荐(0)
pandas数据操作
摘要:pandas数据操作 字符串方法 Series对象在其str属性中配备了一组字符串处理方法,可以很容易的应用到数组中的每个元素 数据转置(行列转换) 对齐 操作不同的维度需要先对齐,Pandas会沿着指定维度执行: 这里对齐维度指的是对齐index shift(2)指沿着时间轴将数据顺移两位 sub 阅读全文
posted @ 2018-12-17 15:26 守护式等待 阅读(210) 评论(0) 推荐(0)
Pandas数据存取
摘要:Pandas存取CSV 写入CSV 读取CSV 读取CSV其他参数 csv文件内有汉字等特殊符号时,csv文件编码应为utf-8(无BOM)可默认正常读取,如果编码是ANSI,加参数encoding='GBK' 数据内有逗号时,左右加英文半角双引号,可以正常解析 Pandas存取HDF5 写入HDF 阅读全文
posted @ 2018-12-17 15:25 守护式等待 阅读(427) 评论(0) 推荐(0)
Pandas统计分析
摘要:Pandas统计分析 pandas数据的基本统计分析 和numpy的函数近似 基本统计分析函数 .describe() 针对0轴(列)的统计汇总,计数/平均值/标准差/最小值/四分位数/最大值 .sum() 计算数据的总和,按0轴计算(各行计算),下同,要按列计算参数1 .count() 非NaN值 阅读全文
posted @ 2018-12-17 15:24 守护式等待 阅读(387) 评论(0) 推荐(0)
Pandas数据规整
摘要:Pandas数据规整 数据分析和建模方面的大量编程工作都是用在数据准备上的,有时候存放在文件或数据库中的数据并不能满足数据处理应用的要求 Pandas提供了一组高级的、灵活的、高效的核心函数和算法,它们能够轻松地将数据规整化为你需要的的形式 合并 连接 Pandas提供了大量方法,能轻松的对Seri 阅读全文
posted @ 2018-12-17 15:23 守护式等待 阅读(217) 评论(0) 推荐(0)
Pandas缺失数据处理
摘要:Pandas缺失数据处理 Pandas用np.nan代表缺失数据 reindex() 可以修改 索引,会返回一个数据的副本: 对缺失值进行填充 丢掉含有缺失项的行: 对缺失项布尔赋值 阅读全文
posted @ 2018-12-17 15:22 守护式等待 阅读(266) 评论(0) 推荐(0)
DataFrame查增改删
摘要:DataFrame查增改删 查 Read 类list/ndarray数据访问方式 下面为Pandas专用的数据访问方式 .loc 通过自定义索引获取数据 .iloc 通过默认索引获取数据 Boolean索引 增 Create 改 Update 阅读全文
posted @ 2018-12-17 15:21 守护式等待 阅读(230) 评论(0) 推荐(0)
数据类型-DataFrame
摘要:数据类型-DataFrame DataFrame是由多个Series数据列组成的表格数据类型,每行Series值都增加了一个共用的索引 既有行索引,又有列索引 行索引,表明不同行,横向索引,叫index,0轴,axis=0 列索引,表名不同列,纵向索引,叫columns,1轴,axis=1 Data 阅读全文
posted @ 2018-12-17 15:20 守护式等待 阅读(1606) 评论(0) 推荐(0)
数据类型-Series
摘要:数据类型-Series Series数据类型由一组数据和数据相关的索引组成,键 -> 值 Series数据类型可视为:一维 带标签 数组 Series基本操作类似数组和字典 Series数据类型的创建 首先载入库 Python list列表 创建Series 标量值 创建Series Python字 阅读全文
posted @ 2018-12-17 15:18 守护式等待 阅读(973) 评论(0) 推荐(0)
pyplot-常用图表
摘要:pyplot-常用图表 介绍最常用的:折线图、散点图、柱状图、直方图、饼图 的绘制 需要学习的不只是如何绘图,更是什么样的数据用什么图表显示效果最好 折线图 折线图用于显示随时间或有序类别的变化趋势 见:pyplot-plot绘图 散点图 散点图可以显示若干数据系列中各数值之间是否存在相关性 坐标系 阅读全文
posted @ 2018-12-17 15:16 守护式等待 阅读(598) 评论(0) 推荐(0)
pyplot图像组件
摘要:pyplot图像组件 ax子对象的组件内容 Title 图表标题 plt.title() Axis 坐标范围,x轴,y轴 plt.axis() label 坐标轴标注 plt.xlabel() plt.ylabel() Tick 刻度线,Tick Label 刻度标注 plt.xticks() pl 阅读全文
posted @ 2018-12-17 15:14 守护式等待 阅读(343) 评论(0) 推荐(0)
pyplot绘图区域
摘要:pyplot绘图区域 Matplotlib图像组成 matplotlib中,整个图像为一个Figure对象,与用户交互的整个窗口 Figure对象中包含一个或多个Axes(ax)子对象,每个ax子对象都是一个拥有自己坐标系的绘图区域 创建figure窗口对象 plt.figure(num=None, 阅读全文
posted @ 2018-12-17 15:12 守护式等待 阅读(574) 评论(0) 推荐(0)
pyplot文本显示
摘要:pyplot文本显示 pyplot中文字符显示 pyplot默认不支持中文字符,因为默认字体是sans-serif,英文字体不能显示中文 方法1,修改需要输出中文字符的地方 在有中文输出的地方,添加属性:fontproperties 优点,使用方便,影响范围可控 缺点:不是所有输出中文的方法都有fo 阅读全文
posted @ 2018-12-17 15:09 守护式等待 阅读(492) 评论(0) 推荐(0)
plot绘图
摘要:plot绘图 坐标系图(折线图) 折线图用于显示随时间或有序类别的变化趋势 plt.plot(x,y,format_string,**kwargs) y:Y轴数据,列表或数组,必选 x:X轴数据,列表或数组,可选 format_strong:线条样式格式字符串,可选 **kwargs:第二组或更多( 阅读全文
posted @ 2018-12-17 15:08 守护式等待 阅读(777) 评论(0) 推荐(0)
Numpy随机数
摘要:Numpy随机数 np.random随机数子库 1: 基本函数 .rand(d0,d1,..dn):创建d0-dn维度的随机数数组,浮点数,范围从0-1,均匀分布 .randn(d0,d1,..dn):功能同上,区别:范围不定,标准正态分布 .randint(low,high,(shape)):根据 阅读全文
posted @ 2018-12-17 15:03 守护式等待 阅读(309) 评论(0) 推荐(0)
Numpy统计
摘要:2:其他统计函数 min(a,axis=None) max(a,axis=None):计算数组a中元素的最小值、最大值 argmin(a,axis=None) argmax(a,axis=None):计算数组a中元素最小值、最大值的降1维后下标(寻找某元素,得到它的 一维扁平化 后的位置) ptp( 阅读全文
posted @ 2018-12-17 15:03 守护式等待 阅读(217) 评论(0) 推荐(0)
Numpy数据存取
摘要:CSV文件存取 Comma-Separated Value,逗号分隔值文件 一种数据存储格式 广泛支持 类表格 存储一维或二维数据 文本格式 CSV文件: 显示:表格状态 源文件:换行和逗号分隔行列的格式化文本 Numpy存储CSV文件 将ndarray数组写入CSV文件中 np.savetxt(f 阅读全文
posted @ 2018-12-17 15:02 守护式等待 阅读(732) 评论(0) 推荐(0)
ndarray
摘要:ndarray ndarray-多维数组对象 ndarray数组分两部分 实际数据 描述数据的元数据(数据类型/维度等) 实际数据 描述数据的元数据(数据类型/维度等) ndarray所有元素类型相同,下标从0开始 ndarray基本概念 特征:能描述物体的最小粒度 维度(维数):描述一个对象所需的 阅读全文
posted @ 2018-12-17 15:01 守护式等待 阅读(818) 评论(0) 推荐(0)
Numpy 基础
摘要:Numpy Numpy(Numerical Python)是一个开源的、Python数值计算库,也是大部分PY科学计算类库的基础库,用于在大型、多维数组(矩阵)上执行数值运算 最早叫Numeric,后来分化为Numpy和Scipy,借鉴自MATLAB ndarray数据类型:N维数组对象 是Scip 阅读全文
posted @ 2018-12-17 14:54 守护式等待 阅读(124) 评论(0) 推荐(0)
virtualenv
摘要:一、安装和配置虚拟环境 安装虚拟环境 二、配置虚拟环境 1.创建虚拟环境管理目录 2.打开.bashrc 3.在.bashrc的末尾增加下面内容 4.启动配置文件 三、创建虚拟环境 1.创建虚拟环境 2.创建指定python版本的虚拟环境 3.运行环境 4.退出虚拟环境 5.删除虚拟环境 阅读全文
posted @ 2018-12-17 14:40 守护式等待 阅读(205) 评论(0) 推荐(0)
vim使用方法:
摘要:vim使用方法: 模式: 编辑模式、未编辑模式、命令行模式 i 插入形式进入编辑模式 a 增加 o 下行编辑 O 上行插入 : 进入命令行模式 esc 退出编辑模式 wq 保存文件 yy 复制 p 粘贴 dd 删除当行 / 搜索具体内容 dG 删除当行以及文件末尾所有内容 ^ 跳转行首位置 $ 挑战 阅读全文
posted @ 2018-12-17 14:38 守护式等待 阅读(123) 评论(0) 推荐(0)
linux基础命令:
摘要:1.linux基础命令: echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md5sum 加密 ll 显示文件的属性信息 ls -l cp 拷贝文件 whereis 查看命令在哪里 阅读全文
posted @ 2018-12-17 14:36 守护式等待 阅读(325) 评论(0) 推荐(0)
middleware
摘要:from collections import defaultdict import logging import pprint from scrapy.exceptions import NotConfigured from scrapy.utils.misc import load_object from scrapy.utils.defer import process_parallel... 阅读全文
posted @ 2018-12-17 14:33 守护式等待 阅读(410) 评论(0) 推荐(0)
scrapy-redis
摘要:Scrapy 和 scrapy-redis的区别 Scrapy 是一个通用的爬虫框架,但是不支持分布式,Scrapy-redis是为了更方便地实现Scrapy分布式爬取,而提供了一些以redis为基础的组件(仅有组件)。 pip install scrapy-redis Scrapy-redis提供 阅读全文
posted @ 2018-12-17 14:31 守护式等待 阅读(551) 评论(0) 推荐(0)
CrawlSpiders
摘要:CrawlSpiders 通过下面的命令可以快速创建 CrawlSpider模板 的代码: scrapy genspider -t crawl tencent tencent.com 上一个案例中,我们通过正则表达式,制作了新的url作为Request请求参数,现在我们可以换个花样... class 阅读全文
posted @ 2018-12-17 14:30 守护式等待 阅读(321) 评论(1) 推荐(0)
Spider
摘要:Spider Spider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item)。 换句话说,Spider就是您定义爬取的动作及分析某个网页(或者是有些网页)的地方。 class scrapy.Spider是最基本的类,所有编写 阅读全文
posted @ 2018-12-17 14:28 守护式等待 阅读(594) 评论(0) 推荐(0)
Scrapy 框架
摘要:Scrapy 框架 Scrapy是用纯Python实现一个为了爬取网站数据、提取结构性数据而编写的应用框架,用途非常广泛。 框架的力量,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。 Scrapy 使用了 Twisted['twɪstɪd](其主要对手 阅读全文
posted @ 2018-12-17 14:25 守护式等待 阅读(199) 评论(0) 推荐(0)
Selenium
摘要:Selenium Selenium是一个Web的自动化测试工具,最初是为网站自动化测试而开发的,类型像我们玩游戏用的按键精灵,可以按指定的命令自动操作,不同是Selenium 可以直接运行在浏览器上,它支持所有主流的浏览器(包括PhantomJS这些无界面的浏览器)。 Selenium 可以根据我们 阅读全文
posted @ 2018-12-17 14:23 守护式等待 阅读(496) 评论(0) 推荐(0)
JSON
摘要:数据提取之JSON与JsonPATH JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。 JSON和XML的比较可谓不相上下。 P 阅读全文
posted @ 2018-12-17 14:21 守护式等待 阅读(275) 评论(0) 推荐(0)
BeautifulSoup4
摘要:CSS 选择器:BeautifulSoup4 和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据。 lxml 只会局部遍历,而Beautiful Soup 是基于HTML DOM的,会载入整个文档,解析整个DOM树 阅读全文
posted @ 2018-12-17 14:20 守护式等待 阅读(325) 评论(0) 推荐(0)
XPath
摘要:什么是XML XML 指可扩展标记语言(EXtensible Markup Language) XML 是一种标记语言,很类似 HTML XML 的设计宗旨是传输数据,而非显示数据 XML 的标签需要我们自行定义。 XML 被设计为具有自我描述性。 XML 是 W3C 的推荐标准 W3School官 阅读全文
posted @ 2018-12-17 14:18 守护式等待 阅读(215) 评论(0) 推荐(0)
使用github的流程
摘要:使用github的流程 在实际项目开发中,按照如下步骤使用git进行代码管理 1.项目经理在开发之初,创建好仓库,上传项目的框架、组员分支 2.组员克隆项目框架,同步分支,按分工开发,在分支提交代码 3.在需要发布时,项目经理将各分支合并到dev上,再合并到master上 git将代码开发分成了工作 阅读全文
posted @ 2018-12-17 14:08 守护式等待 阅读(248) 评论(0) 推荐(0)
布署
摘要:布署 当项目开发完成后,需要将项目代码放到服务器上,这个服务器拥有固定的IP,再通过域名绑定,就可以供其它人浏览,对于python web开发,可以使用wsgi、apache服务器,此处以wsgi为例进行布署 服务器首先是物理上的一台性能高、线路全、运行稳定的机器,分为私有服务器、公有服务器 私有服 阅读全文
posted @ 2018-12-17 14:06 守护式等待 阅读(385) 评论(0) 推荐(0)
celery
摘要:celery 情景:用户发起request,并等待response返回。在本些views中,可能需要执行一段耗时的程序,那么用户就会等待很长时间,造成不好的用户体验,比如发送邮件、手机验证码等 使用celery后,情况就不一样了 解决:将耗时的程序放到celery中执行 点击查看celery官方网站 阅读全文
posted @ 2018-12-17 14:03 守护式等待 阅读(203) 评论(1) 推荐(0)
全文检索
摘要:全文检索 全文检索不同于特定字段的模糊查询,使用全文检索的效率更高,并且能够对于中文进行分词处理 haystack:全文检索的框架,支持whoosh、solr、Xapian、Elasticsearc四种全文检索引擎,点击查看官方网站 whoosh:纯Python编写的全文搜索引擎,虽然性能比不上sp 阅读全文
posted @ 2018-12-17 14:00 守护式等待 阅读(184) 评论(0) 推荐(0)
发送邮件
摘要:发送邮件 Django中内置了邮件发送功能,被定义在django.core.mail模块中 发送邮件需要使用SMTP服务器,常用的免费服务器有:163、126、QQ,下面以163邮件为例 注册163邮箱itcast88,登录后设置 在新页面中点击“客户端授权密码”,勾选“开启”,弹出新窗口填写手机验 阅读全文
posted @ 2018-12-17 13:59 守护式等待 阅读(173) 评论(0) 推荐(0)
验证码
摘要:验证码 在用户注册、登录页面,为了防止暴力请求,可以加入验证码功能,如果验证码错误,则不需要继续处理,可以减轻业务服务器、数据库服务器的压力 手动实现验证码 接下来的代码不要求手动写出来,因为这种代码在网上可以搜到很多 安装包Pillow3.4.1 点击查看PIL模块API,以下代码中用到了Imag 阅读全文
posted @ 2018-12-17 13:41 守护式等待 阅读(191) 评论(0) 推荐(0)
CSRF
摘要:CSRF CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账......造成的问题包括:个人隐私泄露以及财产安全。 阅读全文
posted @ 2018-12-17 13:40 守护式等待 阅读(148) 评论(0) 推荐(0)
HTML转义
摘要:HTML转义 模板对上下文传递的字符串进行输出时,会对以下字符自动转义 示例 打开booktest/views.py文件,创建视图zhuanyi 打开booktest/urls.py文件,配置url 在templates/booktest/目录下创建zhuanyi.html 运行服务器,在浏览器中输 阅读全文
posted @ 2018-12-17 13:37 守护式等待 阅读(3133) 评论(0) 推荐(0)
模板继承
摘要:模板继承 模板继承和类的继承含义是一样的,主要是为了提高代码重用,减轻开发人员的工作量 典型应用:网站的头部、尾部信息 父模板 如果发现在多个模板中复制一段代码,那就应该把这段内容定义到父模板中 标签block:用于在父模板中预留区域,留给子模板填充差异性的内容,名字不能相同 为了更好的可读性,建议 阅读全文
posted @ 2018-12-17 13:36 守护式等待 阅读(200) 评论(0) 推荐(0)
URLconf
摘要:URLconf 浏览者通过在浏览器的地址栏中输入网址请求网站,对于Django开发的网站,由哪一个视图进行处理请求,是由url匹配找到的 配置 在test3/settings.py中通过ROOT_URLCONF指定url配置 打开test3/urls.py可以看到默认配置 在test3/urls.p 阅读全文
posted @ 2018-12-17 13:34 守护式等待 阅读(239) 评论(0) 推荐(0)
视图
摘要:视图 视图就是python中的函数 视图一般被定义在“应用/views.py”文件中,此例中为“booktest/views.py”文件 视图的第一个参数必须为HttpRequest实例,还可能包含下参数如 通过正则表达式组获得的关键字参数 通过正则表达式组获取的位置参数 视图必须返回一个HttpR 阅读全文
posted @ 2018-12-17 13:34 守护式等待 阅读(118) 评论(0) 推荐(0)
查询集
摘要:查询集 查询集表示从数据库中获取的对象集合,在管理器上调用过滤器方法会返回查询集,查询集可以含有零个、一个或多个过滤器 过滤器基于所给的参数限制查询的结果 从Sql的角度,查询集和select语句等价,过滤器像where和limit子句 两大特性 惰性执行:创建查询集不会访问数据库,直到调用数据时, 阅读全文
posted @ 2018-12-17 13:29 守护式等待 阅读(199) 评论(0) 推荐(0)
设计模型
摘要:定义模型类 模型类被定义在“应用/models.py”文件中,此例中为“booktest/models.py”文件 模型类必须继承自Model类,位于包django.db.models中 提示:对于重要数据使用逻辑删除 定义属性 Django根据属性的类型确定以下信息: 当前选择的数据库支持字段的类 阅读全文
posted @ 2018-12-17 13:25 守护式等待 阅读(185) 评论(0) 推荐(0)
创建项目
摘要:创建图书管理项目 在django中,项目的组织结构为一个项目包含多个应用,一个应用对应一个业务模块 示例:创建项目的名称为test1,完成“图书-英雄”信息的维护,创建应用名称为booktest 创建项目 在当前用户的某个目录下创建项目,这样不会发生权限问题 此处在/home/Desktop/pyt 阅读全文
posted @ 2018-12-17 13:21 守护式等待 阅读(176) 评论(0) 推荐(0)
二叉树
摘要:二叉树 二叉树的基本概念 二叉树是每个节点最多有两个子树的树结构。通常子树被称作“左子树”(left subtree)和“右子树”(right subtree) 二叉树的性质(特性) 性质1: 在二叉树的第i层上至多有2^(i-1)个结点(i>0)性质2: 深度为k的二叉树至多有2^k - 1个结点 阅读全文
posted @ 2018-12-17 11:11 守护式等待 阅读(125) 评论(0) 推荐(0)
树与树算法
摘要:树与树算法 树的概念 树(英语:tree)是一种抽象数据类型(ADT)或是实作这种抽象数据类型的数据结构,用来模拟具有树状结构性质的数据集合。它是由n(n>=1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点: 每个 阅读全文
posted @ 2018-12-17 11:10 守护式等待 阅读(144) 评论(0) 推荐(0)
常见排序算法效率比较
摘要:常见排序算法效率比较 阅读全文
posted @ 2018-12-17 11:08 守护式等待 阅读(220) 评论(0) 推荐(0)
二分法查找
摘要:搜索 搜索是在一个项目集合中找到一个特定项目的算法过程。搜索通常的答案是真的或假的,因为该项目是否存在。 搜索的几种常见方法:顺序查找、二分法查找、二叉树查找、哈希查找 二分法查找 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半 阅读全文
posted @ 2018-12-17 11:08 守护式等待 阅读(137) 评论(0) 推荐(0)
归并排序
摘要:归并排序 归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。 将数组分解最小之后,然后合并两个有序数组,基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位。然后再比较,直至一个数组为空,最后把另一个数组的剩余部分复制过来即可。 归并排 阅读全文
posted @ 2018-12-17 11:07 守护式等待 阅读(139) 评论(0) 推荐(0)
快速排序
摘要:快速排序 快速排序(英语:Quicksort),又称划分交换排序(partition-exchange sort),通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数 阅读全文
posted @ 2018-12-17 11:06 守护式等待 阅读(192) 评论(0) 推荐(0)
希尔排序
摘要:希尔排序 希尔排序(Shell Sort)是插入排序的一种。也称缩小增量排序,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。该方法因DL.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词 阅读全文
posted @ 2018-12-17 11:06 守护式等待 阅读(112) 评论(0) 推荐(0)
插入排序
摘要:插入排序 插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。 插入排序分析 时间复杂 阅读全文
posted @ 2018-12-17 11:05 守护式等待 阅读(115) 评论(0) 推荐(0)
选择排序
摘要:选择排序 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有 阅读全文
posted @ 2018-12-17 11:04 守护式等待 阅读(204) 评论(0) 推荐(0)
冒泡排序
摘要:冒泡排序 冒泡排序(英语:Bubble Sort)是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。 冒泡 阅读全文
posted @ 2018-12-17 11:03 守护式等待 阅读(136) 评论(0) 推荐(0)
Python内置类型性能分析
摘要:Python内置类型性能分析 timeit模块 timeit模块可以用来测试一小段Python代码的执行速度。 class timeit.Timer(stmt='pass', setup='pass', timer=<timer function>) Timer是测量小段代码执行速度的类。 stmt 阅读全文
posted @ 2018-12-17 11:01 守护式等待 阅读(307) 评论(0) 推荐(0)
常见时间复杂度
摘要:常见时间复杂度 注意,经常将log2n(以2为底的对数)简写成logn 常见时间复杂度之间的关系 所消耗的时间从小到大 O(1) < O(logn) < O(n) < O(nlogn) < O(n2) < O(n3) < O(2n) < O(n!) < O(nn) 练习: 时间复杂度练习( 参考算法 阅读全文
posted @ 2018-12-17 11:00 守护式等待 阅读(320) 评论(0) 推荐(0)
MongoDB 备份
摘要:备份 语法 -h:服务器地址,也可以指定端口号 -d:需要备份的数据库名称 -o:备份的数据存放位置,此目录中存放着备份出来的数据 例1 恢复 语法 -h:服务器地址 -d:需要恢复的数据库实例 --dir:备份数据所在位置 例2 阅读全文
posted @ 2018-12-17 10:53 守护式等待 阅读(123) 评论(0) 推荐(0)
MongoDB 聚合
摘要:聚合 aggregate 聚合(aggregate)主要用于计算数据,类似sql中的sum()、avg() 语法 管道 管道在Unix和Linux中一般用于将当前命令的输出结果作为下一个命令的输入 在mongodb中,管道具有同样的作用,文档处理完毕后,通过管道进行下一次处理 常用管道 $group 阅读全文
posted @ 2018-12-17 10:52 守护式等待 阅读(315) 评论(0) 推荐(0)
MongoDB 索引
摘要:索引 在mysql中已经学习了索引,并知道索引对于查询速度的提升 mongodb也支持索引,以提升查询速度 步骤一:创建大量数据 在命令行中执行如下代码,向集合中插入10万条文档 注意:不要在图形界面中执行,因为软件原因无法插入10万条数据就会中断执行 步骤二:数据查找性能分析 查找姓名为'test 阅读全文
posted @ 2018-12-17 10:52 守护式等待 阅读(154) 评论(0) 推荐(0)
MongoDB 数据查询
摘要:数据查询 基本查询 方法find():查询 方法findOne():查询,只返回第一个 方法pretty():将结果格式化 比较运算符 等于,默认是等于判断,没有运算符 小于$lt 小于或等于$lte 大于$gt 大于或等于$gte 不等于$ne 例1:查询名称等于'郭靖'的学生 例2:查询年龄大于 阅读全文
posted @ 2018-12-17 10:48 守护式等待 阅读(4146) 评论(0) 推荐(0)
MongoDB 集合命令
摘要:集合命令 创建语法如下 name是要创建的集合的名称 options是一个文档,用于指定集合的配置,选项​​参数是可选的,所以只需要到指定的集合名称 可以不手动创建集合,向不存在的集合中第一次加入数据时,集合会被创建出来 例1:不限制集合大小 例2:限制集合大小,后面学会插入语句后可以查看效果 参数 阅读全文
posted @ 2018-12-17 10:45 守护式等待 阅读(388) 评论(0) 推荐(0)
MongoDB 数据库命令
摘要:数据库命令 连接成功后,默认使用test数据库 查看当前数据库名称 查看所有数据库名称,列出所有在物理上存在的数据库 切换数据库,如果数据库不存在也并不创建,直到插入数据或创建集合时数据库才被创建 删除当前指向的数据库,如果数据库不存在,则什么也不做 插入 语法 插入文档时,如果不指定_id参数,M 阅读全文
posted @ 2018-12-17 10:44 守护式等待 阅读(374) 评论(0) 推荐(0)
zset
摘要:zset sorted set,有序集合 元素为string类型 元素具有唯一性,不重复 每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序 说明:没有修改操作 增加 添加 zadd key score1 member1 score2 member2 ... 例1 阅读全文
posted @ 2018-12-17 10:42 守护式等待 阅读(312) 评论(0) 推荐(0)
set
只有注册用户登录后才能阅读该文。
posted @ 2018-12-17 10:42 守护式等待 阅读(14) 评论(0) 推荐(0)
list
摘要:list 列表的元素类型为string 按照插入顺序排序 增加 在左侧插入数据 lpush key value1 value2 ... 例1:从键为'py11'的列表左侧加入数据'dx'、'xd' lpush 'py11' 'dx' 'xd' 在右侧插入数据 rpush key value1 val 阅读全文
posted @ 2018-12-17 10:41 守护式等待 阅读(216) 评论(0) 推荐(0)
hash
摘要:hash hash用于存储对象,对象的结构为属性、值 值的类型为string 增加、修改 设置单个属性 hset key field value 例1:设置键'py2'的属性'name'为'hr' hset 'py2' 'name' 'hr' 设置多个属性 hmset key field1 valu 阅读全文
posted @ 2018-12-17 10:41 守护式等待 阅读(65) 评论(0) 推荐(0)
string
摘要:string string是redis最基本的类型 最大能存储512MB数据 string类型是二进制安全的,可以存储任何数据,比如数字、图片等 增加、修改 如果设置的键不存在则为添加,如果设置的键已经存在则修改 设置键值 set key value 例1:设置键为'py1'值为'gj'的数据 se 阅读全文
posted @ 2018-12-17 10:40 守护式等待 阅读(46) 评论(0) 推荐(0)
键命令
摘要:键命令 查找键,参数支持正则表达式 keys pattern 例1:查看所有键 keys * 例2:查看名称中包含a的键 keys '*a*' 判断键是否存在,如果存在返回1,不存在返回0 exists key1 例3:判断键'py1'、'py2'是否存在 exists 'py1' exists ' 阅读全文
posted @ 2018-12-17 10:40 守护式等待 阅读(99) 评论(0) 推荐(0)
mysql 事物
摘要:事务 事务四大特性(简称ACID) 原子性(Atomicity):事务中的全部操作在数据库中是不可分割的,要么全部完成,要么均不执行 一致性(Consistency):几个并行执行的事务,其执行结果必须与按某一顺序串行执行的结果相一致 隔离性(Isolation):事务的执行不受其他事务的干扰,事务 阅读全文
posted @ 2018-12-17 10:31 守护式等待 阅读(162) 评论(0) 推荐(0)
mysql 索引
摘要:索引 思考:在图书馆中是如何找到一本书的? 一般的应用系统对比数据库的读写比例在10:1左右,而且插入操作和更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重 当数据库中数据量很大时,查找数据会变得很慢 优化方案:索引 主键和唯一索引, 阅读全文
posted @ 2018-12-17 10:31 守护式等待 阅读(84) 评论(0) 推荐(0)
mysql 视图
摘要:视图 对于复杂的查询,在多个地方被使用,如果需求发生了改变,需要更改sql语句,则需要在多个地方进行修改,维护起来非常麻烦 解决:定义视图 视图本质就是对查询的封装 定义视图,建议以v_开头 例:创建视图,查询学生对应的成绩信息 查看视图:查看表会将所有的视图也列出来 删除视图 使用:视图的用途就是 阅读全文
posted @ 2018-12-17 10:30 守护式等待 阅读(137) 评论(0) 推荐(0)
mysql 函数
摘要:创建 语法如下 说明:delimiter用于设置分割符,默认为分号 在“sql语句”部分编写的语句需要以分号结尾,此时回车会直接执行,所以要创建存储过程前需要指定其它符号作为分割符,此处使用//,也可以使用其它字符 示例 要求:创建函数py_trim,用于删除字符串左右两侧的空格 step1:设置分 阅读全文
posted @ 2018-12-17 10:29 守护式等待 阅读(351) 评论(0) 推荐(0)
mysql 存储过程
摘要:创建 语法如下 说明:delimiter用于设置分割符,默认为分号 在“sql语句”部分编写的语句需要以分号结尾,此时回车会直接执行,所以要创建存储过程前需要指定其它符号作为分割符,此处使用//,也可以使用其它字符 示例 要求:创建查询过程,查询学生信息 step1:设置分割符 step2:创建存储 阅读全文
posted @ 2018-12-17 10:27 守护式等待 阅读(447) 评论(0) 推荐(0)
mysql 高级查询
摘要:条件 使用where子句对表中的数据筛选,结果为true的行会出现在结果集中 语法如下: where后面支持多种运算符,进行条件的处理 比较运算符 逻辑运算符 模糊查询 范围查询 空判断 比较运算符 逻辑运算符 模糊查询 范围查询 空判断 比较运算符 等于= 大于> 大于等于>= 小于< 小于等于< 阅读全文
posted @ 2018-12-17 10:24 守护式等待 阅读(156) 评论(0) 推荐(0)
mysql 内置函数
摘要:字符串函数 查看字符的ascii码值ascii(str),str是空串时返回0 查看ascii码值对应的字符char(数字) 拼接字符串concat(str1,str2...) 包含字符个数length(str) 截取字符串 left(str,len)返回字符串str的左端len个字符 right( 阅读全文
posted @ 2018-12-17 10:22 守护式等待 阅读(280) 评论(0) 推荐(0)
mysql基本操作
摘要:数据库 查看所有数据库 使用数据库 查看当前使用的数据库 创建数据库 删除数据库 数据表 查看当前数据库中所有表 查看表结构 创建表 auto_increment表示自动增长 修改表-添加字段 修改表-修改字段:重命名版 修改表-修改字段:不重命名版 修改表-删除字段 删除表 查看表的创建语句 查询 阅读全文
posted @ 2018-12-17 10:20 守护式等待 阅读(144) 评论(0) 推荐(0)
协程
摘要:1 协程 1.1协程的概念 协程,又称微线程,纤程。英文名Coroutine。一句话说明什么是线程:协程是一种用户态的轻量级线程。(其实并没有说明白~) 我觉得单说协程,比较抽象,如果对线程有一定了解的话,应该就比较好理解了。 那么这么来理解协程比较容易: 线程是系统级别的,它们是由操作系统调度;协 阅读全文
posted @ 2018-12-17 10:05 守护式等待 阅读(484) 评论(0) 推荐(0)
threading实例
摘要:import paramiko, threading import queue import pymysql class ThreadPool(object): def __init__(self, maxsize): self.maxsize = maxsize self._q = queue.Queue(self.maxsize) ... 阅读全文
posted @ 2018-12-17 10:01 守护式等待 阅读(220) 评论(0) 推荐(0)
Lock()与RLock()锁
摘要:资源总是有限的,程序运行如果对同一个对象进行操作,则有可能造成资源的争用,甚至导致死锁 也可能导致读写混乱 锁提供如下方法: 1.Lock.acquire([blocking]) 2.Lock.release() 3.threading.Lock() 加载线程的锁对象,是一个基本的锁对象,一次只能一 阅读全文
posted @ 2018-12-17 09:59 守护式等待 阅读(3250) 评论(0) 推荐(0)
多线程-共享全局变量
摘要:多线程-共享全局变量 运行结果: 列表当做实参传递到线程中 运行结果: 总结: 在一个进程内的所有线程共享全局变量,能够在不适用其他方式的前提下完成多线程之间的数据共享(这点要比多进程要好) 缺点就是,线程是对全局变量随意遂改可能造成多线程之间对全局变量的混乱(即线程非安全) 阅读全文
posted @ 2018-12-17 09:54 守护式等待 阅读(575) 评论(0) 推荐(0)
多线程-threading
摘要:多线程-threading python的thread模块是比较底层的模块,python的threading模块是对thread做了一些包装的,可以更加方便的被使用 1. 使用threading模块 单线程执行 运行结果: 多线程执行 运行结果: 说明 2. 主线程会等待所有的子线程结束后才结束 3 阅读全文
posted @ 2018-12-17 09:53 守护式等待 阅读(314) 评论(0) 推荐(0)
multiprocessing进程实例
摘要:import pymysql import urllib3 from lxml import etree import logging import requests import queue import time import threading from threading import RL 阅读全文
posted @ 2018-12-14 17:07 守护式等待 阅读(138) 评论(0) 推荐(0)
进程间通信-Queue
摘要:进程间通信-Queue Process之间有时需要通信,操作系统提供了很多机制来实现进程间的通信。 1. Queue的使用 可以使用multiprocessing模块的Queue实现多进程之间的数据传递,Queue本身是一个消息列队程序,首先用一个小实例来演示一下Queue的工作原理: 运行结果: 阅读全文
posted @ 2018-12-14 17:05 守护式等待 阅读(212) 评论(0) 推荐(0)
进程池Pool
摘要:进程池Pool 当需要创建的子进程数量不多时,可以直接利用multiprocessing中的Process动态成生多个进程,但如果是上百甚至上千个目标,手动的去创建进程的工作量巨大,此时就可以用到multiprocessing模块提供的Pool方法。 初始化Pool时,可以指定一个最大进程数,当有新 阅读全文
posted @ 2018-12-14 17:04 守护式等待 阅读(288) 评论(0) 推荐(0)
Process子类
摘要:创建新的进程还能够使用类的方式,可以自定义一个类,继承Process类,每次实例化这个类的时候,就等同于实例化一个进程对象,请看下面的实例: 阅读全文
posted @ 2018-12-14 17:03 守护式等待 阅读(202) 评论(0) 推荐(0)
multiprocessing
摘要:multiprocessing 如果你打算编写多进程的服务程序,Unix/Linux无疑是正确的选择。由于Windows没有fork调用,难道在Windows上无法用Python编写多进程的程序? 由于Python是跨平台的,自然也应该提供一个跨平台的多进程支持。multiprocessing模块就 阅读全文
posted @ 2018-12-14 17:02 守护式等待 阅读(1728) 评论(0) 推荐(0)
random
摘要:random随机数模块 (1)随机小数 (2)随机整数 (3)随机返回 (4)打乱列表顺序 (5)验证码生成器 阅读全文
posted @ 2018-12-14 16:20 守护式等待 阅读(261) 评论(0) 推荐(0)
re
摘要:什么是正则表达式 正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。 给定一个正则表达式和另一个字符 阅读全文
posted @ 2018-12-14 15:56 守护式等待 阅读(236) 评论(0) 推荐(0)
time和datetime
摘要:一、time模块常用函数1. time()函数time()函数返回的是时间戳(timestamp)。所谓时间戳指的是从1970年1月1日00:00:00开始按秒计算的偏移量。其他返回时间戳方式的函数还有clock()。 实例 import time time.time() 1515117751.88 阅读全文
posted @ 2018-12-14 15:48 守护式等待 阅读(292) 评论(0) 推荐(0)
logging 日志
摘要:logging模块 Python中有一个模块logging,可以直接记录日志 # 日志级别 # CRITICAL 50 # ERROR 40 # WARNING 30 # INFO 20 # DEBUG 10 logging.basicConfig()函数中的具体参数:filename: 指定的文件 阅读全文
posted @ 2018-12-14 15:46 守护式等待 阅读(282) 评论(0) 推荐(0)
hashlib
摘要:简介: 用于加密相关的操作,代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法。在python3中已经废弃了md5和sha模块,简单说明下md5和sha的使用。 什么是摘要算法呢? 摘要算法又称为哈希算法,散列算法。它通过一个函数,把任 阅读全文
posted @ 2018-12-14 15:44 守护式等待 阅读(140) 评论(0) 推荐(0)
sys
摘要:sys 用于提供对解释器相关的操作 阅读全文
posted @ 2018-12-14 15:38 守护式等待 阅读(360) 评论(0) 推荐(0)
os
摘要:os 用于提供系统级别的操作 import os print(os.getcwd()) # 获取当前工作目录路径 print(os.path.abspath('.')) # 获取当前工作目录路径 print(os.path.abspath('test.txt')) # 获取当前目录文件下的工作目录路 阅读全文
posted @ 2018-12-14 15:36 守护式等待 阅读(176) 评论(0) 推荐(0)
私有化
摘要:私有化 xx: 公有变量 _x: 单前置下划线,私有化属性或方法,from somemodule import *禁止导入,类对象和子类可以访问 __xx:双前置下划线,避免与子类中的属性命名冲突,无法在外部直接访问(名字重整所以访问不到) __xx__:双前后下划线,用户名字空间的魔法对象或属性。 阅读全文
posted @ 2018-12-14 15:17 守护式等待 阅读(176) 评论(0) 推荐(0)
深拷贝、浅拷贝
摘要:深拷贝、浅拷贝 1. 浅拷贝 浅拷贝是对于一个对象的顶层拷贝 通俗的理解是:拷贝了引用,并没有拷贝内容 2. 深拷贝 深拷贝是对于一个对象所有层次的拷贝(递归) 进一步理解拷贝 3. 注意点 浅拷贝对不可变类型和可变类型的copy不同 4. 拷贝的其他方式 分片表达式可以赋值一个序列 字典的copy 阅读全文
posted @ 2018-12-14 15:15 守护式等待 阅读(120) 评论(0) 推荐(0)
作用域
摘要:作用域 什么是命名空间 比如有一个学校,有10个班级,在7班和8班中都有一个叫“小王”的同学,如果在学校的广播中呼叫“小王”时,7班和8班中的这2个人就纳闷了,你是喊谁呢!!!如果是“7班的小王”的话,那么就很明确了,那么此时的7班就是小王所在的范围,即命名空间 test.py main.py 运行 阅读全文
posted @ 2018-12-14 15:13 守护式等待 阅读(152) 评论(0) 推荐(0)
==、is
摘要:==、is 总结 is 是比较两个引用是否指向了同一个对象(引用比较)。 == 是比较两个对象的值是否相等(值比较)。 阅读全文
posted @ 2018-12-14 15:13 守护式等待 阅读(135) 评论(0) 推荐(0)
装饰器
摘要:装饰器 装饰器是程序开发中经常会用到的一个功能,用好了装饰器,开发效率如虎添翼。 1、先明白这段代码 2、需求来了 初创公司有N个业务部门,1个基础平台部门,基础平台负责提供底层的功能,如:数据库操作、redis调用、监控API等功能。业务部门使用基础功能时,只需调用基础平台提供的功能即可。如下: 阅读全文
posted @ 2018-12-14 15:11 守护式等待 阅读(228) 评论(0) 推荐(0)
迭代器
摘要:迭代器 迭代是访问集合元素的一种方式。迭代器是一个可以记住遍历的位置的对象。迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。迭代器只能往前不会后退。 1. 可迭代对象 以直接作用于 for 循环的数据类型有以下几种: 一类是集合数据类型,如 list 、 tuple 、 dict 阅读全文
posted @ 2018-12-14 15:10 守护式等待 阅读(119) 评论(0) 推荐(0)
闭包
摘要:闭包 1. 函数引用 运行结果: 2. 什么是闭包 运行结果: 3. 看一个闭包的实际例子: 这个例子中,函数line与变量a,b构成闭包。在创建闭包的时候,我们通过line_conf的参数a,b说明了这两个变量的取值,这样,我们就确定了函数的最终形式(y = x + 1和y = 4x + 5)。我 阅读全文
posted @ 2018-12-14 15:10 守护式等待 阅读(125) 评论(0) 推荐(0)
生成器
摘要:生成器 1. 什么是生成器 通过列表生成式,我们可以直接创建一个列表。但是,受到内存限制,列表容量肯定是有限的。而且,创建一个包含100万个元素的列表,不仅占用很大的存储空间,如果我们仅仅需要访问前面几个元素,那后面绝大多数元素占用的空间都白白浪费了。所以,如果列表元素可以按照某种算法推算出来,那我 阅读全文
posted @ 2018-12-14 15:09 守护式等待 阅读(183) 评论(0) 推荐(0)
类的"魔法"方法
摘要:1. __init__()方法 <1>使用方式 总结1 当创建Car对象后,在没有调用__init__()方法的前提下,BMW就默认拥有了2个属性wheelNum和color,原因是__init__()方法是在创建对象后,就立刻被默认调用了 2. 定义__str__()方法 总结 在python中方 阅读全文
posted @ 2018-12-14 15:07 守护式等待 阅读(247) 评论(0) 推荐(0)
文件操作
摘要:<1>打开文件 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式) 示例如下: f = open('test.txt', 'w') 说明: 访问模式说明 r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 w 打开一个文件 阅读全文
posted @ 2018-12-14 14:58 守护式等待 阅读(163) 评论(0) 推荐(0)
匿名函数
摘要:匿名函数 用lambda关键词能创建小型匿名函数。这种函数得名于省略了用def声明函数的标准步骤。 lambda函数的语法只包含一个语句,如下: 如下实例: 以上实例输出结果: Lambda函数能接收任何数量的参数但只能返回一个表达式的值 匿名函数不能直接调用print,因为lambda需要一个表达 阅读全文
posted @ 2018-12-14 14:42 守护式等待 阅读(110) 评论(0) 推荐(0)
递归函数
摘要:递归函数 <1>什么是递归函数 通过前面的学习知道一个函数可以调用其他函数。 如果一个函数在内部不调用其它的函数,而是自己本身的话,这个函数就是递归函数。 <2>递归函数的作用 举个例子,我们来计算阶乘 n! = 1 * 2 * 3 * ... * n 解决办法1: 看阶乘的规律 解决办法2: 原理 阅读全文
posted @ 2018-12-14 14:41 守护式等待 阅读(126) 评论(0) 推荐(0)
局部变量and全局变量
摘要:局部变量 <1>什么是局部变量 如下图所示: <2>小总结 局部变量,就是在函数内部定义的变量 不同的函数,可以定义相同的名字的局部变量,但是各用个的不会产生影响 局部变量的作用,为了临时保存数据需要在函数中定义变量来进行存储,这就是它的作用 全局变量 <1>什么是全局变量 如果一个变量,既能在一个 阅读全文
posted @ 2018-12-14 14:38 守护式等待 阅读(263) 评论(0) 推荐(0)
字典遍历
摘要:通过for ... in ...:的语法结构,我们可以遍历字符串、列表、元组、字典等数据结构。 注意python语法的缩进 字符串遍历 列表遍历 元组遍历 字典遍历 <1> 遍历字典的key(键) <2> 遍历字典的value(值) <3> 遍历字典的项(元素) <4> 遍历字典的key-value 阅读全文
posted @ 2018-12-14 14:31 守护式等待 阅读(261) 评论(0) 推荐(0)
字典常用操作
摘要:<1>修改元素 字典的每个元素中的数据是可以修改的,只要通过key找到,即可修改 demo: 结果: <2>添加元素 demo:访问不存在的元素 结果: 如果在使用 变量名['键'] = 数据 时,这个“键”在字典中,不存在,那么就会新增这个元素 demo:添加新的元素 结果: <3>删除元素 对字 阅读全文
posted @ 2018-12-14 14:29 守护式等待 阅读(248) 评论(0) 推荐(0)
列表常用操作
摘要:列表中存放的数据是可以进行修改的,比如"增"、"删"、"改"" <1>添加元素("增"append, extend, insert) append 通过append可以向列表添加元素 demo: 结果: extend 通过extend可以将另一个集合中的元素逐一添加到列表中 insert inser 阅读全文
posted @ 2018-12-14 14:20 守护式等待 阅读(167) 评论(0) 推荐(0)
字符串常用操作
摘要:字符串常见操作 如有字符串mystr = 'hello world itcast and itcastcpp',以下是常见的操作 <1>find 检测 str 是否包含在 mystr中,如果是返回开始的索引值,否则返回-1 <2>index 跟find()方法一样,只不过如果str不在 mystr中 阅读全文
posted @ 2018-12-14 14:17 守护式等待 阅读(116) 评论(0) 推荐(0)