自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 RabbitMQ 各种通信模式的Python实现

本文介绍了RabbitMQ消息队列的原理,组件,用python连接RabbitMQ的 生产者-消费者模式,任务队列模式,发布订阅模式、路由模式、RPC调用等。

2024-04-16 23:45:27 1097 4

原创 由浅入深掌握Python多线程原理与编程步骤

本文以实例代码形式,讲解多线程 multithreading,,全局锁GIL原理,多线程编程基本步骤 ,threading模块 Thread 属性、方法、公共函数,以函数式,类的方式创建线程,线程生命周期管理,如何处理子线程异常 thread exception,最后讲解了高并发线程池ThreadPoolExecutor异步编程技术

2023-04-10 13:33:29 6410 1

原创 由浅入深掌握各种 Python 进程间通信方式(建议收藏)

介绍 python multiprocessing 多进程模块提供的各类通信方式的数据结构 、原理、以及使用步骤,包括Pipe管道通信,Queue队列通信,Lock共享锁,Event同步事件,SharedMemory 共享变量Value, Array, SharedMomory 模块共享内存,最后介绍了使用共享内存管理器Manager的原理与使用,确保进程通信的安全。

2023-02-18 14:41:03 7541 3

原创 由浅入深介绍 Python Websocket 编程

python websockets 提供的 websocket 实现框架,支持双向通信,长连接。 编程比socket 更简单,异步方式实现 服务器端 、客户端 ,javascript 的 websocket源代码。

2022-12-06 23:42:38 29080 3

原创 Python 使用 ctypes 调用 C/C++ DLL 动态链接库

介绍如何通过ctypes模块调用 C, C++ DLL SO 动态链接库,介绍了ctypes 各种数据类型,包含字符串,指针,枚举等,如何转换 C/C++ 函数参数,特别是结构体与指针,如何转换为python格式,以将转实参传入dll 函数,获取并解析返回值, 用于调用DLL, SO动态链接库,或者 第3方SDK库,与硬件接口

2022-08-19 13:17:44 11272 10

原创 使用 AST语法树分析与修改Javascript 代码

本文介绍了 AST抽象语法树技术原理,使用场景(自动化修改代码,逆向分析等,常用AST解析库,使用jscodeshift来解析javascript 代码,以实例代码方式实现查找并修改函数名称、函数调用名.

2024-06-18 17:17:57 1077

原创 玩转Django分页器

本页介绍了Django 分页功能的主要数据结构 ,Paginator 分页器对象, Page 页面对象,以及如何在视图,模板中实现,用户自定义每页显示行数的实现,并提供了完整的代码

2024-03-31 21:04:42 1324

原创 sk-learn 特征数据预处理方式汇总

数据集预处理技术### sklearn的数据预处理操作分类(1) Feature Extract ① Load features from dict② 文件特征化(2) Preprocessing Data ① Standalizaiton , scaling ② Normalization③ Encoding categorical features④ Discretization⑤ Custom transformers(3) Imputation of missing val

2024-03-31 13:44:09 1057

原创 Vue3 + Django 前后端分离项目实现密码认证登录

Vue3 + Django 前后端项目实现密码认证登录

2024-03-23 13:37:31 2517

原创 C++ 智能指针的使用

本文介绍了C++的3种常用智能指针的使用场景,编程方式。

2024-03-17 14:16:27 782

原创 Python项目打包与部署(四):项目依赖管理

本文件介绍python的3种依赖管理方式。 pip + requirements.txt 方式, pyproject.toml 依赖配置, pipenv 管理依赖等方式。

2024-02-22 12:36:05 2112

原创 OpenCV+ moviepy + tkinter 视频车道线智能识别项目源码

项目完整源代码,使用 OpenCV 的Hough 直线检测算法,提取出道路车道线并绘制出来。通过tkinter 提供GUI界面展示效果。

2024-02-02 21:56:44 485

原创 Python类型注解(Typing Hint) 编程详解

本文介绍 Python 类型注解 type hint的作用与用法。主要内容 : 类型提示的基本语法,使用mypy工具检查代码中类型的示是否确; 基本类型的类型提示,使用typeing 标准库对list, tuple, dict等集合类型的类型提示,以及复合型的集合类型的类型提示,类型别名的使用, 在函数定义,类定义中使用泛型 generic type, 并以 FastAPI 示例 如何使用类型提示。

2024-01-28 17:42:26 1583

原创 Django、Flask 与 Javascirpt 之间传值与数据转换

本文介绍了,在python 中 dict, json类型定义与区别,转换方法,在javascript 中 object与json 类型定义与区别、转换方法。 Django, Flask 传递数据库记录时常用的格式,以及在javascript 中如何通过json转为对象数组,通过遍历方法来解析所获取的数据 。

2024-01-24 17:40:41 1375

原创 Selenium + Django + Echarts 实现亚马逊商品数据可视化爬虫项目

根据用户输入商品名称、类别名称,使用Selenium, BS4等技术每天定时抓取亚马逊商品数据,使用Pandas进行数据清洗后保存在MySql数据库中.使用Django提供用户端功能,显示商品数据,以可视化的方式分析数据,以及数据抓取任务管理等。

2024-01-24 14:52:44 1186

原创 SqlAlchemy使用教程(六) -- ORM 表间关系的定义与CRUD操作

介绍Sqlalchemy ORM 表间关系的定义与CRUD增删改查操作表间关系主要包括:一对多,一对一,多对多。其中一对多关系中也隐含了多对一关系。表间关系是数据库操作中的重要技术点,非常有必要理解与掌握。

2024-01-22 21:21:21 1542 2

原创 SqlAlchemy使用教程(五) ORM API 编程入门

本章主要介绍SqlAlchemy的 ORM原理,最基础、使用声明式映射定义ORM table类,字段等,通过ORM API 实现CRUD,操作,插入、更新、删除数据,使用select(), where() 查询数据,以及解析查询结果

2024-01-18 22:47:35 1783 3

原创 SqlAlchemy使用教程(四) MetaData 与 SQL Express Language 的使用

MetaData 相当于python层的db schema,即数据库结构定义, 用meta.Table对象来表示table 定义,Column对象来表示 column的定义,通常1个模块只包含1个metaData对象,可以包含多个table定义。Index。

2024-01-15 13:31:26 1615

原创 SqlAlchemy使用教程(三) CoreAPI访问与操作数据库详解

Sqlalchemy 的Core部分集成了DB API, 事务管理,schema描述等功能,ORM构筑于其上。本章介绍创建 Engine对象,使用基本的 Sql Express Language 方法,以及如何实现对数据库的CRUD操作等内容。

2024-01-14 14:08:17 1457

原创 SqlAlchemy使用教程(二) 入门示例及编程步骤

本章讲解了SqlAlchemy 的入门示例,编程步骤,异常处理框架,使用CoreAPI创建数据库引擎对象,连接各类数据库,数据库的增删改查CRUD操作等。

2024-01-14 11:39:56 1462

原创 SqlAlchemy使用教程(一) 原理与环境搭建

本文介绍了sqlalchemy 的原理,架构,什么是ORM, 常用术语如metadata, session 等,最后讲述了如何安装

2024-01-12 20:53:39 1693 2

原创 编程学习方法-刻意练习来提高自己的编程能力

尝试了很多学习方法,企图快速提高编程能力,但最终发现,唯有老老实实刻意练习,在辛苦与时间积累下,逐渐提升能力才是看似慢但却是最有效的方式。

2024-01-12 16:13:11 424

原创 Django-REST-Framework 如何快速生成Swagger, ReDoc格式的 REST API 文档

本文描述了Django-REST-Framework DRF项目如何自动生成 Swagger, ReDoc格式API, drf-yasg库的使用,以及DRF内置API文档生成工具的使用。

2023-12-25 11:40:45 895

原创 Python标准库 subprocess 模块多进程编程详解

本文主要介绍python 标准库 subprocess 模块创建子进程的各种用法 (1) 用 subprocess.run() 方法创建子进程 , (2) stdin, stdout,stderr 的配置,以及管道 Pipe 使用 (3) Popen API使用, 如何创建Popen对象,如何查询进程状态,中止进程 (4)进程之间通信, 使用stdin 传入数据,通过comunicate() 方法获取输出(5) ascynio 异步执行子进程

2023-11-09 13:29:29 8188 1

原创 安卓App使用HttpURLConnection发送请求与上传文件

本文主要讲解了HttpURLConnection工具发送 GET请求,POST请求,保存Response响应内容,JSON POST请求,以及如何上传文件,

2023-10-09 12:08:45 2718

原创 Python异步编程并发执行爬虫任务,用回调函数解析响应

本文介绍了Python 异步编程技术asyncio ,使用场景,介绍了同步编程,异步编程原理,异步技术的优势,异步语法 async await, 协程,create_task, gather, event loop, asyncio.run() 等,用回调函数callback 来解析响应消息,实例场景:同时爬取多个网站数据,爬虫,分别提供了同步编程实现代码,使用 asyncio 异步编程实现的完整代码,最后总结了异步编程的不足以及注意事项

2023-09-19 22:37:05 708

原创 python多线程编程: 如何暴力但不失优雅地关闭线程

本文介绍,利用python signal 信号机制,自定义异常类,支持按 Ctrl+C, kill -9 等强制退出程序时,安全地退出线程。 关键词: Python 多线程编程,中止线程,关闭线程,暴力关闭程序,Python 信号机制1, Ctrl+C退出

2023-09-08 23:07:07 1290

原创 Python项目打包与部署(三):打包与部署的实际操作流程

本文介绍了python项目打包与部署流程,以实际操作实例讲解通过setuptools工具,使用pyproject.toml 配置文件,创建项目,使用build模块编译项目,并上传到PyPi仓库,或者私有化PyPi Server, 以及下载安装步骤,

2023-09-03 23:29:19 5109

原创 Python项目打包与部署(一):模块与包的概念与关系

本文介绍了python 模块module, 包package的基本概念,以及如创建模块,在包、其它模块中导入模块的方法,模块搜索路径等。并给出实例

2023-09-02 14:06:20 1840 1

原创 利用Python内置sched模块实现定时任务管理

而python提供了1个内置库 `sched` 来规划定时任务,不需要任何第3方库,且使用简单。 使用sched事件调度器的另一个好处在于它与平台无关,可以在任何操作系统上运行。

2023-08-15 17:15:44 1152

原创 Python select 编程单线程轻松处理每秒万条请求

在并发场景中,如果使用线程池,或多进程进行并发处理,会占用过多的系统资源。这时可以考虑采用操作系统的 select 技术来处理。select 能监听的socket文件描述符,监听的socoket产生事件,即会自动执行相应处理函数,如接送或发送。当soket的客户端数量在5000以下,使用select是很合适的。但如果链接客户端过多,select采用的是轮询模型,服务器响应效率不高。应该采用epoll,或者用asyncio异步编程。

2023-07-13 13:50:04 557

原创 了解 Python 设计模式

设计模式是解决众所周知问题的常用方法。Python开发者定义的设计模式的基础有两个主要原则:编程到接口而不是实现。优先选择对象组合而不是继承。让我们从 Python 程序员的角度仔细看看这两个原则。编程到接口名 Program to InterfacePython有个“Duck Typing" 鸭子类型的故事,Duck Typing 是一种编程风格,决定一个对象是否有正确的接口,关注点在于它的方法或属性,而不是它的类(“如果它看起来像鸭子,像鸭子一样嘎嘎叫,那么它一定是鸭子。”)。

2023-07-12 23:12:07 383

原创 由浅入深:Django中间件原理及编程步骤

通俗地说👨 ,中间件是充当程序或系统两个部分之间的桥梁,使它们之间的通信成为可能。在技术术语👨 💻中,中间件是Django的请求/响应处理的钩子框架。它是一个轻量级的低级“插件”系统,用于全局更改 Django 的输入或输出。每个中间件组件负责执行某些特定功能。1.2中间件如何工作?🤔中间件middleware 就是view 执行前、执行后的回调函数, 流程可以简单地描述如下fill:#333;color:#333;color:#333;fill:none;中间件View中间件End。

2023-07-12 15:39:26 1412

原创 Scrapy爬虫框架集成Selenium来解析动态网页

当前网站普遍采用了javascript 动态页面,特别是vue与react的普及,使用scrapy框架定位动态网页元素十分困难,而selenium是最流行的浏览器自动化工具,可以模拟浏览器来操作网页,解析元素,执行动作,可以处理动态网页,使用selenium处理1个大型网站,速度很慢,而且非常耗资源,是否可以将selenium集成到scrapy框架中,发挥二者的优点呢?. 如下面的scrapy原理图,可以在Downloader的中间件方法中,修改request与response对象,再返回给scrapy。

2023-07-08 12:53:29 1506

原创 DRF+Vue.JS前后端分离项目实例(下) --- Vue.js 前端实现代码

本文介绍了 django-rest-framework 与Vue 前后端分离项目设计与实现过程,实现了列表查询、单条查询,添加信息,更改信息,删除信息等功能,讲述了如何设计RESTful API 接口,如何用DRF实现RESTFul API编程,前端采用Vue编程,通过Axios API 通过REST接口从django后端获取数据,实现数据库的CRUD功能。包含完整代码

2023-07-07 23:30:20 3569

原创 Django 解决CORS跨域问题的方法

本文介绍了跨域问题(CORS)产生原因原理,解决思路,django服务器通过自定义中间件Middleware修改头部参数,以及使用第3方库core-headers的解决方法。

2023-07-06 19:36:46 5334 1

原创 DRF+Vue.JS前后端分离项目实例(上):使用 Django-Rest-Framework快速实现 RESTful API 接口编程

django-rest-framework (简称**DRF**) 继承了django框架的上述优点,开发与部署不需要第3方库的支持就可以轻松完成数据库CRUD的 REST API开发,并提供完善的鉴权、分级权限控制、测试页面等功能,可以快速地开发出一套高质量的REST API。本文演示了学生信息查询项目的API接口设计,django-rest-framework函数式编程,CBV视图类编程两种方式实现API, 最后介绍了DRF的页面测试功能

2023-07-06 15:03:21 5606

原创 如何使用Python内置缓存装饰器: @lru_cache,@cache 与 @cached_property

Python 的内置库 functools 模块附带了@lru_cache,@cache, @cached_property 装饰器,可用于在代码中,对函数运算结果,类成员方法运算结果,进行缓存。上例中,每次运行函数时,lru_cache都会检查输入,如果之前运行过,则从缓存中返回结果 ,如果没有,则运行函数,并缓存结果。本文介绍了3种缓存工具的使用步骤,最后总结了对应的适用场景建议。

2023-06-28 12:41:32 9847 1

原创 什么是Python全局锁(GIL),如何避开GIL限制?

Python 全局解释器锁(Global Interpreter Lock, 简称GIL) 是一个互斥锁(或锁),只允许一个线程保持 Python 解释器的控制权。这意味着在任何时间点都只能有一个线程处于执行状态。执行单线程程序的开发人员看不到 GIL 的影响,但它可能是 CPU 密集型和多线程代码中的性能瓶颈。本文介绍了3种避开全局锁限制的方法:多进程编程,Cython, 其它解释器

2023-06-25 14:32:05 9660

原创 Selenium Python教程第7章:Selenium编程其它功能

本单讲述了python selenium 的 Action Chains 动作链,Alerts告警窗口,弹出窗口编程步骤

2023-06-14 08:59:44 1083

Django-Rest-Framework 学生信息查询 RESTFul API 实现代码

Django-Rest-Framework 学生信息查询 RESTFul API 实现代码

2023-07-06

mv-contact.zip

PyQT5 使用 Model /View 模式实现数据表格化显示,编辑,删除,查询。 Model模型: 通过QSqlTableModel 对象连接 SqlLite View 视图: QTableView

2023-01-09

gRPC python 上传超大文件Client与Server完整代码

使用gRPC python上传大文件,采用分块传输,占用内存非常低,速度是websocket 的10倍。

2022-12-16

Python调用海康SDK对接摄像机.pdf

本人使用 Python ctypes实现了对海康SDK DLL的调用, 可以进行视频实时预览、抓图、抽帧、云台控制、布防等任务,含实现源码

2022-11-29

Python3.10.5 win64安装包

Python3.10.5 win64安装包

2022-11-05

python3.9.4 Linux源码安装包

python3.9.4 Linux源码安装包

2022-11-05

Python3.9.4 win64安装包

Python3.9.4 win64安装包

2022-11-05

空空如也

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

TA关注的人

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