python
文章平均质量分 70
何小有
不会编程的测试不是好玩家!
展开
-
Python 的 @lru_cache() 装饰器
装饰器是通过空间换取时间的方式来提高程序的性能,所以。通过下面的例子可以很好的理解。在 Python 标准库的。原创 2023-11-18 14:44:55 · 209 阅读 · 0 评论 -
Python获取微信公众号文章数据
这是一个通过 Python实现获取某个微信公众号下全部文章数据的解决方案。我们需要使用来建立一个网络代理,以实现监控微信公众号请求的需求。通过下面的命令安装然后在项目的根目录下创建一个文件,这个插件的核心逻辑在HTTP 事件钩子 - 收到完整的响应时,判断是否微信公众号的文章数据相关请求和响应,如果是就取出我们需要的数据,并写入文件中。FalseFalse我们监控的三个接口中,是微信公众平台 web 后台中,用户编辑文章时,插入其他公众号文章的超链接时,调用的分页查询接口。原创 2023-10-21 15:20:40 · 536 阅读 · 0 评论 -
Ubuntu 22 Python 虚拟环境配置
下载 Ubuntu 系统的 virtualenv 依赖;通过 pip 安装 virtualenv 和 virtualenvwrapper 库;在 用户根目录(cd ~) 下创建 .virtualenvs 文件夹;查看 virtualenvwrapper.sh 所在的目录;修改当前用户的 .bashrc 配置文件;在 .bashrc 配置文件的最后添加两行配置;新建一个虚拟的 test_venv 环境;使用 deactivate 命令退出当前虚拟环境;原创 2023-09-17 10:53:57 · 1040 阅读 · 0 评论 -
Python使用EasyOCR识别图像文本
EasyOCR 是 PyTorch 实现的一个光学字符识别 (OCR) 工具。安装 EasyOCR 在命令窗口中,使用 pip 安装 EasyOCR 稳定版本。使用 EasyOCR 执行上面的代码时,会自动通过网络下载检测与识别模型到指定目录下。识别结果 result 是一个列表,列表中的每一项都是一个长度为 3 的识别结果,例如 它们分别是 边界框、检测到的文本 和 置信度 值。easyocr-server EasyOCR 服务器是一个用于从图像中提取文本。它是一种通用的 OCR,既可以读取自然场景文本,原创 2023-04-08 11:20:35 · 1985 阅读 · 1 评论 -
Python离线解析IP地址
GeoIP:可以按国家、地域位置甚至精确到城市,对企业用户和网站的访客进行精准实时的定位。另外还提供可以 免费 在 本地部署 的 GeoLite2 离线 数据库,可以让我们在不使用第三方接口的情况,解析 IP 地址的地理位置数据。自治域 AS 或者运营商 ISP;IP 地址所属的自治域 AS 或者运营商 ISP;IP 地址所在的国家、地区、城市、经纬度和邮政编码等信息。CSV 文件格式:需要自己实现掩码解析和 ID 查询。MaxMind DB 格式:借助 GeoIP2 库提供的方法,输入 IP 地址就可以进原创 2023-03-16 23:43:01 · 1500 阅读 · 0 评论 -
Python录制和播放音频
使用 Python 播放音频直接使用内置包中的 `winsound` 模块即可:使用 Python 录制音频则需要用到第三方的 [PyAudio](https://pypi.org/project/PyAudio/) 库:原创 2023-03-08 19:34:16 · 1614 阅读 · 1 评论 -
在Windows下使用Python嵌入式环境包
在 Python Releases for Windows 页面下载你需要的那个版本的 Windows embeddable package (64-bit) 文件,这样就得到一个 python-x.x.x-embed-amd64.zip 文件。将这个压缩包文件解压到任意目录下。在目录中找到 pythonxxx._pth 文件,去掉 import site 前的注释符,使 Lib\site-packages 加入 sys.path 中。现在执行 .\python.exe 命令就可以先进入嵌入式环境,然后我们原创 2023-03-07 11:26:41 · 3285 阅读 · 0 评论 -
使用PP-TTS实现语音合成
调用需要安装的依赖文件如下(下面的版本号只是写这篇文章时的版本号,不是最新的版本号在执行任务过程中,会将使用到的和下载到本地的目录下。参数 voc = vocoder = 声码器,源自人声编码器的缩写,又称语音信号分析合成系统,对声音进行分析与合成的系统,主要应用于合成人类语音。声码器的主要功能是把声学特征转成可播放的语音波形。声码器的好坏直接决定了音频的音质高低。参数 am = acoustic model = 声学模型,是把语言特征转成音频的声学特征。原创 2023-03-06 15:48:49 · 2505 阅读 · 1 评论 -
拿来即用的 Python SSH+SFTP 实现类
一个拿来即用的 Python SSH 和 SFTP 实现类,可用于: - 与 Linux 服务器建立持续交互的 SSH 会话 - 从 Linux 服务器下载远程文件 - 上传本地文件到 Linux 服务器 新创建一个 `linux_client.py` 文件,编写下面的 `LinuxClient` 类代码:然后是调用上面 `LinuxClient` 类的示例代码:最后看下示例代码的控制台打印效果:原创 2023-03-03 15:27:14 · 947 阅读 · 0 评论 -
Python调用MMDetection实现AI抠图去背景
为基础,需要安装好 MMDetection 的运行环境,同时完成目标检测、实例分割和全景分割的功能实践,之后再看下面的内容。模型库中的实例分割(Instance Segmentation)模型,来帮我们完成最核心的分类、分割图片物体任务。接下来以位于图像中心位置的板凳为例,把板凳的检测框和分割对象可视化成图像文件,我们开始解析,首先可视化板凳的检测框。之前,我们是通过另存为文件的方式,来可视化推理的结果,现在,我们要进一步的解析推理结果。,这种组织结构不方便我们提取抠图的数据,所以需要将推理结果。原创 2023-02-20 16:33:02 · 1979 阅读 · 1 评论 -
使用MMDetection进行目标检测、实例和全景分割
MMDetection是一个基于PyTorch的目标检测开源工具箱,它是OpenMMLab项目的一部分。包含以下主要特性:- 支持三个任务- 目标检测(Object Detection)是指分类并定位图片中物体的任务- 实例分割(Instance Segmentation)是指分类,分割图片物体的任务- 全景分割(Panoptic Segmentation)是统一了语义分割(对图像的每个像素进行分类)和实例分割(检测出对象实例并进行分割)的检测任务- 模块化设计以灵活支持 6 个数据集,57 种不同算法和丰原创 2023-02-17 11:52:51 · 5771 阅读 · 1 评论 -
Python对接LDAP/AD的过程详解
不同公司的 LDAP/AD 服务配置各不相同,很难封装一个通用的方法,所以我们在对接 LDAP/AD 的过程中,需要了解自己公司的 LDAP/AD 服务配置是怎么样的,才能写出正确的对接代码,因此下面将拆解过程并提供相关的文档地址。信息去验证用户的密码是否正确,如果密码正确,就和前面公用账号登录一样可以获取用户信息。到这一步的时候,可以询问 LDAP 服务器当前连接用户是谁?更多具体的情况,就需要实际对接公司的 LDAP/AD 服务时,才会遇到了。不管是那种格式,信息本身的内容是一样的。原创 2023-02-14 15:19:13 · 5400 阅读 · 0 评论 -
用Python调用OpenAI API做有趣的事
OpenAI 文本编写 故事创作 餐厅评论 广告文案 面试问题 头脑风暴 论文大纲 学习笔记 创建食谱 推荐书单 产品名称 总结内容 电子表格 电子邮件 OpenAI 代码续写 Go代码 HTML代码 JavaScript函数 Python代码 Python函数 Python测试代码 Python修复BUG Python注释文档 Python代码重构 Python翻译成Java R代码 MySQL查询 PostgreSQL查询 TypeScript函数原创 2022-12-13 16:27:24 · 37315 阅读 · 36 评论 -
微CLI工具箱-WeToolkit
当需要将一个Python脚本快速提供给用户使用时,直接提供纯命令行指令给用户,不友好。如果开发可视化的GUI界面,又太废时间,而且无法在Linux服务器上使用,于是就整了这个微CLI工具箱-WeToolkit,解决这个问题。微CLI工具箱-WeToolkit,是一个可以快速集成Python脚本到GUI界面上的小轮子,因为GUI部分是直接使用命令行绘制实现,所以可以实现跨平台执行(只要支持命令行就行),具体实现的效果如下图。微CLI工具箱-WeToolkit的核心代码只有一个文件,依赖的第三方库有两个。原创 2022-10-17 14:27:00 · 1370 阅读 · 0 评论 -
python使用ctypes调用dll
因为 是内置模块,可以直接使用:加载dll程序调用dll方法直接调用:传递 数字 参数:传递 指针 参数:传递 自定义的数据类型 参数:传递 numpy.ndarray 参数:原创 2022-06-14 19:30:09 · 2144 阅读 · 0 评论 -
FastAPI利用装饰器实现定时任务
因为 FastAPI 本身就是高性能异步框架,所以在不使用任何第三方定时任务模块的情况下,FastAPI 也可以很方便的实现定时任务。创建一个 tasks.py 文件, 复制下面的装饰器代码:import asynciofrom loguru import loggerfrom functools import wrapsfrom asyncio import ensure_futurefrom starlette.concurrency import run_in_threadpoolfro原创 2022-05-31 19:46:41 · 4159 阅读 · 5 评论 -
拿来即用的 Python 时间范围判断方法
一个拿来即用的 Python 时间范围判断方法,判断当前时间是否位于指定范围段:import datetimedef in_time_period(now_datetime, start_time, end_time): start = datetime.datetime.strptime( str(now_datetime.date()) + start_time, '%Y-%m-%d%H:%M') end = datetime.datetime.strptime(原创 2022-01-18 18:01:24 · 2779 阅读 · 0 评论 -
LabelStudio + MMDetection 实现目标分割预标注
在 Label Studio ML Backend 提供的预标注模型示例中,只有 mmdetection 这个 目标检测预标注 示例,而没有 目标分割预标注 示例,因此我参考野生的 目标分割预标注 代码 interactive_segmentation.py 并结合 MMDetection 的 Mask R-CNN 算法,实现了一个 目标分割预标注 的演示代码。首先下载 Label Studio ML backend 项目代码到本地,并按 目标检测预标注文档 的内容,先实现目标检测预标注。然后在 la原创 2021-12-28 18:04:11 · 3921 阅读 · 16 评论 -
拿来即用的 Python LDAP 实现类
一个拿来即用的 Python LDAP 实现类,相关配置通过读取环境变量获取:LDAP_SERVER_HOST = [LDAP服务器IP: 127.0.0.1]LDAP_SEARCH_BASE = [LDAP搜索配置: OU=OU,DC=DC,DC=LOCAL]LDAP_USERNAME = [LDAP连接账户: xxxx@xxx.xx]LDAP_PASSWORD = [LDAP连接密码]快速调用方法如下:def ldap_user_auth(username, password):原创 2021-12-08 00:23:15 · 957 阅读 · 0 评论 -
pymongo 4.0的‘Cursor‘ object has no attribute ‘count‘异常
pymongo 模块的 Cursor 对象在 2021年11月30日 之后因为更新到 4.0 版本,删除了 Cursor 类里的 count 方法,以下是 4.0 和 3.12.2 两个版本的 Cursor 类对比:https://github.com/mongodb/mongo-python-driver/blob/4.0/pymongo/cursor.pyhttps://github.com/mongodb/mongo-python-driver/blob/3.12.2/pymongo/curs原创 2021-12-01 14:07:14 · 7072 阅读 · 0 评论 -
wxPython:当密码账号输入正确,登录界面消失并显示主界面
登录界面弹窗(LoginDialog 类)如下:登录界面弹窗(LoginDialog 类)代码如下:import wxclass LoginDialog(wx.Dialog): def __init__(self, parent=None, compulsory_login_flag=True): super(LoginDialog, self).__init__(parent, -1, title='Login to UATP',原创 2021-05-06 10:08:54 · 753 阅读 · 0 评论 -
基于Rainbond开发Python云原生应用
组件开发这里使用 基于源码中的 Dockerfile 创建组件,因为这种方式能兼容所有类型的项目。识别为 Dockerfile 类型的源码将使用类似于 docker build -t xxx/xxx . 的命令进行镜像构建,因此此方式是灵活性最高的源码编译方式基本结构Python 云原生应用的基本目录结构如下,由 app.py(主程序)、Dockerfile(容器配置)和 requirements.txt(依赖关系)三个文件组成。.├── app.py├── Dockerfile├──原创 2021-01-06 15:14:09 · 667 阅读 · 2 评论 -
Python DearPyGui 多线程与异步
对于一些需要长时间运行的计算和回调,我们可以使用在单线程上运行的异步方法,使用很简单,只需要调用 run_async_function 方法即可,需要注意的是,使用异步命令运行的方法中,不能调用 DearPyGui 的对象与方法。from dearpygui.core import *from dearpygui.simple import *from time import sleepadd_additional_font(file='MicrosoftYaHei.ttf', size=18.0原创 2020-11-26 21:46:08 · 968 阅读 · 0 评论 -
Python DearPyGui 项目实践
创建主框架这里以一个名为 dear_demo 的项目为例,并在项目下创建几个文件夹:application、data、utils,和两个文件:config.ini 和 main.py,现在的项目结构应该是这样的:\dear_demo # 项目文件夹d----- application # 项目的应用文件夹d----- data # 项目的数据文件夹d----- utils # 项目的工具文件夹-a---- config.ini # 项目的配置原创 2020-11-26 17:48:20 · 2235 阅读 · 0 评论 -
搭建、使用与维护私有PyPi仓库
搭建PyPi仓库安装依赖包pypiserver要搭建PyPi仓库,我们需要使用 pypiserver 库,这是一个最基本的 PyPI 服务器实现库,可以启动一个用来上传和维护Python包的服务器。通过 pip install pypiserver 命令安装 pypiserver 库,该库在 Python 2x 或者 Python 3x 下均运行。passlib默认情况下,Python包的上传操作是无权限管理的,当我们希望使用密码来控制,只有指定用户才可以进行Python包的上传操作的时候,原创 2020-11-23 19:48:36 · 7269 阅读 · 2 评论 -
Python DearPyGui 常用控件二
增量时间与内部时钟Dear PyGui 有一个内置的时钟,用于检查应用程序运行的总时间 get_total_time,该时间以秒为单位。通过 get_delta_time() 方法,我们可以检查渲染的每帧之间的时间差,同样是以秒为单位。from dearpygui.core import *from dearpygui.simple import *add_additional_font('三极中柔宋.ttf', 18, glyph_ranges='chinese_simplified_commo原创 2020-11-05 17:54:17 · 1705 阅读 · 0 评论 -
Python DearPyGui 常用控件一
菜单栏菜单栏是一个 GUI 应用中重要的控件,始终显示在窗口顶部,并具有三个主要部分:menu_bar —— 主菜单功能区menu —— 下拉菜单或子菜单add_menu_item —— 可以运行回调或可以操作的项目菜单可以根据需要嵌套,而且任何控件都可以添加到菜单中,例如下面栗子中的 “控件列表” 菜单。from dearpygui.core import *from dearpygui.simple import *add_additional_font('三极中柔宋.ttf',原创 2020-11-04 20:34:51 · 3704 阅读 · 0 评论 -
Python DearPyGui 进阶
控件和窗口回调每个输入控件都有一个回调,该回调在控件交互时运行,回调用于为控件提供功能实现。回调可以在创建时或在创建后使用 set_item_callback 分配给窗口控件。在 DearPyGui 中,应用于控件的每个回调方法都必须包含一个 sender 和 data 参数。DearPyGui 使用 sender 参数来通知回调——哪个控件通过发送 name 来触发回调。控件再通过指定 callback_data 参数来发送数据到回调方法的 data 参数。from dearpygui.core i原创 2020-11-02 20:08:10 · 2105 阅读 · 2 评论 -
Python DearPyGui 基础
Dear PyGui 库用于开发跨平台的 GUI 应用程序,于2020年9月发布,通过对 Dear ImGui 的包装,使它与众不同(相比其他的 Python GUI 框架)。DearPyGui 在后台使用 C++ 的 Bloat-free 立即模式图形用户界面,能够实现灵活的动态界面。而且,DearPyGui 不使用系统平台的窗口控件,而是使用计算机的显卡来绘制窗口控件,因此能支持所有系统平台。先确保你的 Python 版本在 3.7 以上,再通过 pip install dearpygui 命令下载原创 2020-10-30 15:51:59 · 4246 阅读 · 1 评论 -
Python3 wxPython库
Python3 wxPython库这个第三方库用于开发跨平台的 GUI 应用程序,可以轻松地创建健壮、功能强大的 GUI 程序。通过 pip install wxPython 命令下载 wxPython 库。Hello World下面是业余版本的 Hello World:# 导入wxPython库import wx# 创建一个应用程序对象app = wx.App()# 创建一个框架frm = wx.Frame(None, title="Hello World")# 展示框架frm.原创 2020-08-15 19:00:12 · 4162 阅读 · 1 评论 -
RC4算法及其实践(Hello Password)
Hello Password一个简单的安全密码管理工具。Why? 因为我无法信任网上的密码管理软件。另外,加密数据离开对应的密码管理软件无法解析,这个问题困扰着我。所以,不如自己写一个简简单单的密码管理工具,所以就开始撸了这个小项目,( PyPi地址、 GitHub地址 ),通过以下方式来保证数据安全:云端实时同步:把存储密码的文件放到OneDrive或百度网盘这些支持本地实时同步的云端,这样多台电脑都可以访问密码数据。工具本身干净:只有使用python基础库,没有使用其他第三方库,300行左右原创 2020-06-30 10:31:27 · 1247 阅读 · 0 评论