自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 资源 (1)
  • 收藏
  • 关注

原创 python 使用opencv找轮廓

def find_counts(subtracted_img,img, cross_s_text, border_coord, ratio): # height, width = img.shape[:2] segmented_img = img.copy() contour_list = [] #air_duct_img取灰度图。取二值 gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) _, thresh1 = cv2

2022-03-30 10:10:34 3941

原创 数据库总结

1 mysql存储引擎及区别?存储引擎是针对与表的MyISAM①不支持事务,但是整个操作是原子性的(事务具备四种特性:原子性、一致性、隔离性、持久性)②不支持外键,支持表锁,每次所住的是整张表 MyISAM的表锁有读锁和写锁(两个锁都是表级别): 表共享读锁和表独占写锁。在对MyISAM表进行读操作时,不会阻塞其他用户对同一张表的读请求,但是会阻塞其他用户对表的写请求;对其进行写操作时会阻塞对同一表读操作和写操作 MyISAM存储引擎的读锁和写锁是互斥的,读写操作是串行的。那么,

2022-03-28 17:48:59 38

原创 Django知识总结

1 django中间件使用?中间件是一个用来处理Django的请求和响应的框架级别的钩子。它是一个轻量、低级别的插件系统,用于在全局范围内改变Django的输入和输出。每个中间件组件都负责做一些特定的功能。但是由于其影响的是全局,所以需要谨慎使用,使用不当会影响性能。说的直白一点中间件是帮助我们在视图函数执行之前和执行之后都可以做一些额外的操作,它本质上就是一个自定义类,类中定义了几个方法,Django框架会在请求的特定的时间去执行这些方法。中间件可以定义五个方法,分别是:(主要的是pr

2022-03-27 00:43:51 25

原创 python面试题总结

1 python 内存管理机制: 引用计数: 当一个对象的引用被创建或复制时,对象的引用计数+1 当对象的引用被销毁时,对象的引用计数-1 当对象的引用计数减为0时,就意味着对象没有被使用,可以将其所占内 存释放了 引用计数法有很明显的优点: 1高效` 2运行期没有停顿 可以类比一下Ruby的垃圾回收机制,也......

2022-03-26 22:04:15 30

原创 python virtualenv创建虚拟环境

1 安装python 解释器(官网)2 pip install virtualenv 命令安装 virtualenv 库3 安装好 virtualenv 库后,打开 python 安装目录,在安装目录下新建一个文件夹,将其命名为 envs。如下图所示:4 进入到 envs 文件夹,点击地址栏,在地址栏中输入 cmd,回车进入命令行窗口5 在命令行输入 virtualenv new_env(new_env 为新建的虚拟环境的名称,根据情况自命名),回车。大约几秒钟时间,就会生成一个新的虚拟

2022-02-09 10:32:00 4210 2

原创 python监控函数运行占用最大内存和CPU最大使用率

from functools import wrapsimport threadingimport psutilfrom time import time, sleepclass MetricsThread(threading.Thread): def __init__(self): threading.Thread.__init__(self) self.max_memory = 0 self.max_cpu = 0 sel

2022-01-27 15:15:25 1050

原创 python 类装饰器和函数装饰器监控函数的耗时情况,每行代码耗时

from functools import wrapsfrom line_profiler import LineProfiler as lpffrom time import time, sleepimport datetimeclass Decorator: @classmethod def timer(cls, tag=""): """ 代码计时器 :param tag: 标签 :return: 注解代码

2021-11-19 11:15:19 1747

原创 python functool.wraps 作用

from functools import wrapsdef decorator(func): # @wraps(func) def wrapper(*args, **kwargs): result = func(*args, **kwargs) return result return wrapper# @decoratordef fun_test(): print(8988)if __name__ == '__main__'

2021-11-19 11:06:37 342

原创 python 连接redis 实现消息发布和订阅

redis连接:消息发布和订阅:消息处理:string类型数据的插入和读取:

2021-11-17 17:27:26 877

原创 python多继承方式和顺序

python 中继承方式有两种:深度优先、广度优先。如图,B 继承 A, C 继承 A, D 继承 B 和 C。深度优先遍历是从 D 开始往上搜索到 B,若 B 没有数据,则继续往上搜索到 A;广度优先遍历是从 D 开始往上搜索到 B,若 B 没有数据,则搜索和 B 同级的 C 里的数据,若同级的 C 里还是没有数据,再继续往上搜索到 A注:py2 经典类是按深度优先来继承的,新式类是按广度优先来继承的。py3 经典类和新式类都是统一按广度优先来继承的。...

2021-11-17 11:38:05 2566

原创 flask 简易并发方案

from flask import Flaskfrom gevent.wsgi import WSGIServerimport json app = Flask(__name__) @app.route("/", methods=['GET', 'POST'])def index(): return json.dumps({'res':'test'}) WSGIServer(('127.0.0.1', 8081), app).serve_forever()

2021-11-17 11:27:52 318

原创 python 异步接口

def fun4(k): sleep(5) print("fun4 start...") return [email protected]("t")def fun3(): ips = [1, 2, 3, 4, 5, 6] p = ThreadPoolExecutor() p.map(fun4, ips) # with ThreadPoolExecutor(max_workers=4) as p: # 会等待5s # p.map(fun4,

2021-11-17 10:58:26 934

原创 python 操作mongodb

python连接Mongodb添加索引:查找数据:替换数据:更新数据:

2021-11-16 14:52:21 768

原创 python numpy矩阵计算(根据目标矩阵和轮廓点求新矩阵)

def matrix_transformation(matrix, contour_list, inverse=False): """ :param matrix: 转换矩阵 要求:4*4 :param contour_list: 轮廓点列表 :param inverse: 转换矩阵是否求逆矩阵 :return: 转换后的矩阵 """ if isinstance(matrix, np.ndarray): if matrix.sh

2021-11-16 14:28:53 202

原创 pycharm运行正常,debug报错

用pycharm调试的时候遇到报错如下UnicodeDecodeError: ‘utf-8’ codec can’t decode byte 0xe5 in position 1023: unexpected end of data缺失可以直接运行不报错查了下报错原因,记录下出现异常报错是由于设置了decode()方法的第二个参数errors为严格(strict)形式造成的,因为默认就是这个参数,将其更改为ignore等即可r = r.decode(‘utf-8’)改为r = r.decode

2021-11-15 12:02:44 1365

原创 python ProcessPoolExecutor 和ThreadPoolExecutor使用

from concurrent.futures import ProcessPoolExecutor, as_completed, ThreadPoolExecutordef func1(a, b): print(f"func1 start...") return {"k": a + b}def func2(c): print(f"func2 start...") return {"k1": c}def run(): d = {} res

2021-11-15 11:38:27 206

原创 python 进程之间共享资源

在这里插入代码片def func2(d, l):d[“index3”] = “c”d[“index4”] = “d”d.pop(“a”)l.append(55)l.append({“d”: 5})def run():d = multiprocessing.Manager().dict({“a”: 1})l = multiprocessing.Manager().list([{“q”: 1}])# p = multiprocessing.Process(target=func, args

2021-11-15 11:23:40 120

原创 python 时间戳,datetime ,时间字符,时间元组相互转换

在这里插入代码片```import datetime, time # 时间戳转时间字符串 timeStamp = time.time() dateArray = datetime.datetime.fromtimestamp(timeStamp) # 时间戳转datetime print(dateArray) print(type(dateArray)) otherStyleTime = dateArray.strftime("%Y-%m-%d %H:%M

2021-11-08 16:19:33 1039

原创 python configparser模块使用

func.conf 内容如下:[major]1=arch2=struc[arch]100=test1101=test2[struc]200=test3from configparser import ConfigParserimport osconf = ConfigParser()file_path = os.path.join(os.getcwd(), “func.conf”)res = conf.read(file_path, encoding=“utf8”)sectio

2021-11-08 15:35:11 415

原创 python gz压缩和解压

import osimport gzipimport io, jsonfrom io import BytesIO压缩cwd = os.getcwd()fn = str(“test”) + ‘.gz’fn = os.path.join(cwd, fn)item = {“q”: “jfhjakfhj”, “j”: “fkFKLFOPMPLMSM”}with gzip.open(fn, ‘wb’) as g:with io.TextIOWrapper(g, encoding=‘utf-8’)

2021-11-08 14:26:18 617

原创 shapely文档

https://www.osgeo.cn/shapely/manual.html#object.buffer

2021-11-08 14:14:03 234

翻译 git命令

在当前目录新建一个 Git 代码库git init新建一个目录,将其初始化为 Git 代码库git init [project-name]下载一个项目和它的整个代码历史git clone [url]增加代码添加指定文件到暂存区git add [file1] [file2] …添加指定目录到暂存区,包括子目录git add [dir]添加当前目录的所有文件到暂存区git add .删除工作区文件,并且将这次删除放入暂存区git rm [file1] [file2] …停止追踪指定

2021-11-08 14:09:34 416

原创 查看数据所占内存大小

import sys, jsondata = {“a”:12, “b”:“jsd”}print(sys.getsizeof(json.dumps(data)))sys.getsizeof对于不可变类型对象,返回的是对象本身内存大小可变类型对象,返回的是对象指针所占内存大小

2021-11-08 13:59:31 109

原创 监测函数运行内存

from memory_profiler import profile@profiledef func():pass

2021-11-08 13:52:07 50

翻译 windows 下安装wordcloud 报错ImportError: DLL load failed: 找不到指定的模块

我先是pip install wordcloud 安装成功运行时由于导入模块import wordcloud时报错:ImportError: DLL load failed: 找不到指定的模块网上看了各种相同报错原因大致都是说模块不兼容导致的于是我卸载重新安装还是报错,于是尝试手动安装(建议安装matplotlib,numpy,scikit_learn,scipy这些模块时手动安装,pip 在线安装很容易出错,我这个问题就是因为使用pip在线安装导致的)1.首先下载4个whl格式的文件..

2020-08-16 15:11:35 1365 2

转载 制作词云 wordcloud 参数配置

font_path : string #字体路径,需要展现什么字体就把该字体路径+后缀名写上,如:font_path = '黑体.ttf'width : int (default=400) #输出的画布宽度,默认为400像素height : int (default=200) #输出的画布高度,默认为200像素prefer_horizontal : float (default=0.90) #词语水平方向排版出现的频率,默认 0.9 (所以词语垂直方向排版出现频率为 0.1 )mask .

2020-08-16 14:52:34 1865

翻译 JWT token 认证原理

JWT token 分为三部分组成: 第一部分是头部(header),第二部分我们称其为载荷(payload, 类似于飞机上承载的物品),第三部分是签证(signature). 头部包含:1声明类型 这里是JWT 2声明加密的算法 通常直接用 HMAC SHA256加密 完整的头部就像下面这样的JSON:{ ‘typ’: ‘JWT’, ‘alg’: ‘HS256’ }...

2018-08-22 19:01:03 723

django+layui

djago+layui 用户管理系统

2020-10-16

空空如也

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

TA关注的人

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