自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

转载 shell中>/dev/null 2>&1

背景我们经常能在shell脚本中发现>/dev/null 2>&1这样的语句。以前的我并没有去深入地理解这段命令的作用,照搬照用,直到上周我将这段命令不小心写成了2>&1 >/dev/null,出了一点小问题之后,我才开始去了解这段命令背后的“玄机”。shell重定向介绍就像我们平时写的程序一样,一段程序会处理外部的输入,然后将运算结果输出到指定...

2019-08-30 16:44:59 202

原创 python Broken pipe 解决

把项目中 所有 print 注释

2019-08-27 18:25:16 2582 1

转载 对同步异步阻塞和非阻塞的简单理解

在网络通信中,经常可以看到有人将同步和阻塞等同、异步和非阻塞等同。事实上,这两对概念有一定的区别,不能混淆。两对概念的组合,就会产生四个新的概念,同步阻塞、异步阻塞、同步非阻塞、异步非阻塞。看了https://www.zhihu.com/question/19732473?sort=created&page=3中对这四个概念的讲解后,  作者:silence链接:https:...

2019-08-07 16:11:29 206 1

原创 python3 xlsxwriter 导出 图片 到excel 被拉伸

我发现 通过xlsxwriter worksheet.insert_image() 导出图片会被拉伸开始准备一张 网图import xlsxwriterbook = xlsxwriter.Workbook('pict.xlsx')sheet = book.add_worksheet('demo')sheet.insert_image('D4', '1.jpeg')b...

2019-07-31 18:55:11 717

原创 获取python包的路径

例如想知道openpyxl/reader/worksheet.py文件的位置终端输入:python -c "from openpyxl.reader import worksheet; print(worksheet.__file__)"/User/.virtualenvs/test1/lib/python3.7/site-packages/openpyxl/reader/work...

2019-07-24 18:08:01 646

原创 python3+xlsxwriter+flask 导出 远端url图片excel

import iofrom urllib.request import urlopenfrom executor import quotefrom flask import send_fileimport xlsxwriterfrom io import BytesIOoutput = BytesIO()workfile = xlsxwriter.Workbook(outpu...

2019-07-22 14:44:55 378

原创 使用python openpyxl 修改excel 文件 合并单元格的地方出现边框丢失 解决办法

版本python 3.7openpyxl 2.5.12先上方法 !!!修改 openpyxl/reader/worksheet.py 255 行 及256 行 注释掉def parse_merge(self, element): merged = MergeCells.from_tree(element) self.ws.merged_cells.rang...

2019-07-17 12:30:14 1700

转载 crontab(定时任务操作)

定时任务顾名思义就是在某一时间点自动进行任务操作。在做Pgsql的备份利用crontab进行定时操作, 使用起来比较方便。故分享具体的定时编辑命令:crontab -e首先从crontab的文件分析使用策略,root用户下,在/etc下有一个文件crontab,其内容如下[root@myzk~]# cat /etc/crontabSHELL=/bin/bashPATH=/sbin:...

2019-07-08 10:54:43 129

原创 WSGI, uWSGI, uwsgi 的区别

uWSGI我们知道 Flask 中自带了 web server,通过 Werkzeug,我们可以搭建 WSGI 服务,运行我们的网站,但 Flask 是 Web 框架,并不是 Web 服务器,尽管 Werkzeug 很强大,但只能用于开发,不能用于生产,对于 Web 服务器,我们有更专业的选择,那就是 uWSGI, uWSGI 是一个全站式的托管服务,它实现了应用服务器(支持多种编程语言...

2019-05-27 16:36:53 185

原创 python 用户注册验证密码格式

import reresult_passws = re.compile(r'^(?=.*\d)(?=.*[a-zA-Z]).{6,20}$') # 必须包含大写或小写字母和数字的组合,可以使用特殊字符,长度在6-20之间# result_passws = re.compile(r'^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,20}$') #...

2019-05-06 19:12:59 1499 1

原创 Python防止sql注入的有效方法

import pymysql # 打开数据库连接db = pymysql.connect(host='localhost', user='root', password='test', database='test', charset='utf8')# 创建一个游标对象cur = db.cursor()# 参数化处理sql = "INSERT INTO USER(NAME,PA...

2019-05-06 19:05:39 1425

原创 安装thrift-sasl==0.2.1 报错及解决方式

先说解决方式:sudo pip install cython报错内容:pip install thrift-sasl==0.2.1Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simpleCollecting thrift-sasl==0.2.1Collecting thriftpy (from th...

2019-04-30 11:26:52 3723

原创 python 异常定位与获取

import linecacheimport sysdef m(): return 1 / 0def n(): m()def p(): n()def traceback(): ttype, tvalue, ttraceback = sys.exc_info() # print(tvalue) info = '' w...

2019-04-17 14:45:06 1431

原创 ROW_NUMBER() OVER()函数用法详解

ROW_NUMBER() OVER函数的基本用法语法:ROW_NUMBER() OVER(PARTITION BY COLUMNORDER BY COLUMN)详解:row_number() OVER (PARTITION BY COL1 ORDERBY COL2)表示根据COL1分组,在分组内部根据COL2排序,而此函数计算的值就表示每组内部排序后的顺序编号(该编号在组内是连续并且唯...

2019-04-17 11:43:24 210

转载 mysql中的concat函数,concat_ws函数,concat_group函数之间的区别

一、CONCAT()函数CONCAT()函数用于将多个字符串连接成一个字符串。使用数据表Info作为示例,其中SELECT id,name FROM info LIMIT 1;的返回结果为+----+--------+| id | name|+----+--------+|1 | BioCyc |+----+--------+1、语法及使用特点:CONCAT(str1,...

2019-04-17 11:37:30 170

原创 goalng 实现九九乘法表

package mainimport "fmt"func main() { var i, j int for i = 1; i < 10; i++ { for j = 1; j <=i; j++ { fmt.Printf("%d*%d = %2d ", j, i, (j * i)) } fmt.Println() }}...

2019-04-04 16:26:13 267

原创 mac 如何实现命令别名创建

cmd +空格 输入 item进入终端cd 进入根目录vim .bash_profileG 到最下面输入 例:alias ll ='ls -a'

2019-04-03 11:02:35 248

原创 elasticsearch主分片数量为什么不可以更改?

当索引一个文档的时候,文档会被存储到一个主分片中。Elasticsearch 如何知道一个文档应该存放到哪个分片中呢?当我们创建文档时,它如何决定这个文档应当被存储在分片1还是分片2中呢?首先这肯定不会是随机的,否则将来要获取文档的时候我们就不知道从何处寻找了。实际上,这个过程是根据下面这个公式决定的:shard = hash(routing) % number_of_prim...

2019-03-27 11:41:02 3692

转载 Python单例模式的原理及实现

原文:https://blog.csdn.net/ctyct_/article/details/79677125语言是共通的,想要用不同语言实现单例模式,首先要清楚什么是单例模式,单例模式即一个类有且仅有一个实例,那么通过python怎么实现一个类只能有一个实例呢。首先先创建一个类,比如宇宙只有一个地球class Earth: passa = Earth()pr...

2018-12-26 21:40:19 649

转载 理解http幂等特性,安全操作

理解HTTP幂等性转自:http://www.cnblogs.com/weidagang2046/archive/2011/06/04/2063696.html基于HTTP协议的Web API是时下最为流行的一种分布式服务提供方式。无论是在大型互联网应用还是企业级架构中,我们都见到了越来越多的SOA或RESTful的Web API。为什么Web API如此流行呢?我认为很大程度上应归功于简...

2018-12-18 23:18:24 410

原创 mysql中tinyint、smallint、int、bigint的区别

tinyint从 -2^7 (-128) 到 2^7 - 1 (123) 的整型数据。存储大小为1 个字节。unsigned 是从 0 到 255 的整型数据。所以建表的时候 只能是tinyint(3),哪怕你建tinyint(100),他最大还是3位这么多。smallint从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小...

2018-12-15 23:59:35 146

原创 redis缓存穿透和缓存雪崩以及解决办法

缓存穿透:缓存穿透是指查询一个一定不存在的数据,由于缓存是不命中时需要从数据库查询,查不到数据则不写入缓存,这将导致这个不存在的数据每次请求都要到数据库去查询,造成缓存穿透。解决办法:1.对所有可能查询的参数以hash形式存储,在控制层先进行校验,不符合则丢弃。还有最常见的则是采用布隆过滤器,将所有可能存在的数据哈希到一个足够大的bitmap中,一个一定不存在的数据会被这个bitmap...

2018-12-15 21:51:50 98

转载 mysql的优化-避免全表扫描

对查询进行优化,应尽量避免全表扫描,首先应考虑在where及orderby涉及的列上建立索引:尝试下面的技巧以避免优化器错选了表扫描:使用ANALYZETABLEtbl_name为扫描的表更新关键字分布。对扫描的表使用FORCEINDEX告知MySQL,相对于使用给定的索引表扫描将非常耗时。SELECT*FROMt1,t2FORCEINDEX(...

2018-12-14 22:37:58 199

转载 mysql全表扫描的原因

全表扫描是数据库搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止。通常在数据库中,对无索引的表进行查询一般称为全表扫描;然而有时候我们即便添加了索引,但当我们的SQL语句写的不合理的时候也会造成全表扫描。以下是经常会造成全表扫描的SQL语句及应对措施:1. 使用null做为判断条件如:select account from member where nickname = n...

2018-12-14 22:19:26 203

转载 mysql索引 B-tree索引和hash索引的区别

hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。可 能很多人又有疑问了,既然 Hash 索引的效率要比 B-Tree 高很多,为什么大家不都用 Hash 索引而还要使用 B-Tree 索引呢?任何事物都是有两面性的,Hash 索引...

2018-12-14 22:12:28 112

转载 mysql 索引长度对索引的影响.

1:查询频繁 2:区分度高 3:长度小 4: 尽量能覆盖常用查询字段.1: 索引长度直接影响索引文件的大小,影响增删改的速度,并间接影响查询速度(占用内存多).针对列中的值,从左往右截取部分,来建索引1: 截的越短, 重复度越高,区分度越小, 索引效果越不好2: 截的越长, 重复度越低,区分度越高, 索引效果越好,但带来的影响也越大--增删改变慢,并间影响查询速度.所以, 要在 区...

2018-12-14 22:09:36 5769

转载 mysql优化和索引的使用

文章归属:http://www.cnblogs.com/doudouxiaoye/p/5831449.html关于MySQL索引的好处,如果正确合理设计并且使用索引的MySQL是一辆兰博基尼的话,那么没有设计和使用索引的MySQL就是一个人力三轮车。对于没有索引的表,单表查询可能几十万数据就是瓶颈,而通常大型网站单日就可能会产生几十万甚至几百万的数据,没有索引查询会变的非常缓慢。还是以Word...

2018-12-14 21:04:56 405

原创 python 爬虫之fake-useragent库:伪装浏览器Header

随机使用方法:headers = { "User-Agent": UserAgent(verify_ssl=False).random}安装pip install fake-useragent浏览器的user-agent值,由于一目了然,直接上代码。fromfake_useragentimportUserAgentua = UserAgent(verify_ssl=F...

2018-10-29 16:53:59 1523

原创 python 监控进程

import threadingimport timeimport osimport subprocessdef get_process_count(imagename): p = os.popen('tasklist /FI "IMAGENAME eq %s"' % imagename) return p.read().count(imagename)def ...

2018-08-21 14:40:36 2881

原创 python 3 获取文件夹 的大小

import osfrom os.path import join, getsizedef getdirsize(dir): size = 0 for root, dirs, files in os.walk(dir): size += sum([getsize(join(root, name)) for name in files]) retur...

2018-08-16 09:40:52 799

转载 Django中Celery的实现

Celery官网http://www.celeryproject.org/学习资料:http://docs.jinkan.org/docs/celery/Celery介绍Celery是基于Python开发的一个分布式任务队列框架,支持使用任务队列的方式在分布的机器/进程/线程上执行任务调度。上图展示的是Celery的架构,它采用典型的生产者-消费者模式,主要由三部分组成:bro...

2018-07-14 22:10:10 175

转载 任务队列,消息队列和rpc的区别是什么?

首先,这几个概念本就不是同一层次上的东西,本身风马牛不相及。先说RPCRPC通常指的是PRC框架(分布式框架),或者PRC协议,如GRPC,JSON-RPC等。这类框架主要解决远程通信间的问题,所以底层的通信机制是不需要使用者去关心去实现就能很好实现远程通信的,最出名的莫过于阿里的dubbo。再说任务队列这是个逻辑概念,即比如饭店高峰期时,顾客单子不得不按照下单顺序一个个放...

2018-07-14 22:06:00 5952 1

原创 python 面试常见问题(1)

1.匿名函数lambda 是python 定义匿名函数的语法lambda表达式就是一个函数,可以赋值给一个变量,既然是表达式,可以参与运算。(1)lambda轻便(2)给map等函数式编程使用**map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。print ...

2018-07-11 22:55:53 503

转载 python web 面试题汇总

转自https://github.com/taizilongxu/interview_python1 Python的函数参数传递看两个例子:a = 1def fun(a): a = 2fun(a)print a # 1a = []def fun(a): a.append(1)fun(a)print a # [1]所有的变量都可以理解是内存中一...

2018-07-11 08:23:20 1283

转载 Django 之 cookie

Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。Cookie最早是网景公司的前雇员Lou Montulli在1993年3月的发明。Cookie是由服务器端生成,发送给User-Agent(一般是浏览器),浏览器会将Cookie的key/value保存到某个目录下的文本文件内,下次请求同一网站时就发送该C...

2018-07-07 00:27:56 662

转载 django 之 session

Django进阶之session基于cookie做用户验证时:敏感信息不适合放在cookie中session依赖cookiesession原理cookie是保存在用户浏览器端的键值对session是保存在服务器端的键值对session服务端中存在的数据为:session = { 随机字符串1:{ 用户1的相关信息} 随机字符串2:...

2018-07-07 00:10:38 120

转载 HTTP协议向服务器传递参数有几种途径?

1 URL路径参数在定义路由URL时,可以使用正则表达式提取参数的方法从URL中获取请求参数,Django会将提取的参数直接传递到视图的传入参数中。 未命名参数按定义顺序传递, 如 url(r'^weather/([a-z]+)/(\d{4})/$', views.weather),def weather(request, city, year): print('cit...

2018-07-06 23:42:12 4188

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除