FastAPI异步方法中调用同步方法
前言
在异步方法中调用同步方法,会直接阻塞整个事件循环,导致应用在执行同步方法期间无法处理其他任何并发请求,从而拖垮整个服务的性能。
为了解决这个问题,核心思路是将同步方法交给外部线程池去执行。
方法1, 使用 to_thread
Python 3.9 后可以使用 asyncio.to_thread 方法,将同步函数跑在独立的线程中,并返回一个 ...
华南理工大学 Python第3章课后小测-2
1、(单选)给出如下代码
s = 'Hello scut'
print(s[4::-1])
上述代码的输出结果是(本题分数:2)A) HelloB) olleHC) scutD) tucs您的答案:B 正确率:100%2、(单选)下列程序段的输出结果是()。
print("{:*<10}:{:*^7.2f}".format("Length",23.8750))
(本题分数:2)A) Length****:23.87 ...
manim变换效果总结
在ManimCE中,除了上一篇介绍的丰富的动画效果外,变换效果也是制作精彩视觉内容的重要工具。
变换效果主要用于改变对象的形状、大小、颜色或位置,让对象在动画中呈现出动态的变化。
本文详细总结了 ManimCE 中常见的变换效果,并分析它们的应用场景和带来的视觉效果,最后还会给出一些选择变换效果的建议。
1. 缩放变换: ...
使用PySide6/PyQt6或者WxPython实现对列表界面和树列表界面的整合处理
在之前随笔《使用PySide6/PyQt6实现Python跨平台通用列表页面的基类设计》中也介绍过对于基于Python对桌面应用开发的处理,针对常规列表界面的基类做了封装,以便适应比较丰富且弹性化界面的要求,并且减少子类的代码处理,本篇随笔进一步探讨使用PySide6/PyQt6或者WxPython实现对列表界面和树列表界面的整合处理这个主题。 ...
国产化PDF处理控件Spire.PDF教程:使用 Python 向 PDF 添加文字(支持创建与编辑)
在处理 PDF 时,向文档中添加文字是非常常见的场景,比如自动生成报告、插入批注说明、填写表单模板或添加版本标记等。借助 Python 向 PDF 插入文本,可以大幅提升文档处理的灵活性与自动化效率。
相比手动操作或依赖复杂工具,使用专业的 PDF 库能让你通过几行代码精准地控制文本位置、样式和内容。E-iceblue旗下Spire系 ...
Python使用DrissionPage实现上传文件的实战指南
目录一、DrissionPage上传文件的核心原理二、基础文件上传实现1. 最简上传示例2. 完整流程封装三、实战案例:批量上传图片并处理结果四、高级技巧与注意事项1. 处理动态加载的上传组件2. 多文件上传3. 等待策略优化4. 常见问题解决五、性能优化建议六、总结在自动化测试和网页爬虫开发中,文件上传是一个常见需求。本文将详 ...
国产化Excel开发组件Spire.XLS教程:使用Python将CSV文件转换为列表
CSV(逗号分隔值)是一种用于存储表格数据的通用文件格式,而列表是 Python 中用于轻松进行数据操作的基本数据结构。在 Python 中将 CSV 转换为列表,能实现数据的无缝处理、分析及与其他工作流的集成。虽然 Python 内置的 csv 模块可满足基础需求,但 Spire.XLS for Python 凭借类电子表格的直观界面 ...
Jail 【Python沙箱逃逸问题合集】
借助NSS平台题目,以2022年HNCTF为例展开分析
背景:
由于目前很多赛事有时候会出现一些pyjail的题目,因此在这里总结一下以便以后遇见可以轻松应对。
注:由于Python3中的unicode特性,所以也会见到unicode碰撞的题目,因此利用下面脚本可以获取一些常用的碰撞unicode。
exp:
from unicodedata import normalize
from stri ...
使用PySide6/PyQt6实现全国省市区的级联选择组件
在基于BS或者H5实现全国省市区的级联选择组件,相对比较容易,一般都要有现成的封装,如对于移动端H5或者小程序的Vant4界面库,他们直接安装使用内置的数据即可进行调用。参考对应组件的数据,我们可以使用PySide6/PyQt6实现全国省市区的级联选择组件案例。
1、Vant4界面库使用的省市区组件数据
如参考Vant4的Area省市区选 ...
Python - 模块与包
前言
如果你在 51 Testting 上面见到这篇文章,不要以为我是盗版哦!因为那是我投稿的文章
模块和包的定义
模块的定义:任何 *.py 的文件都可以当作模块使用 import 导入
包的定义:包含一个__init__.py和其他模块、其他子包的一个目录
实际项目中,所谓的包和模块分别代表 ...
Python 第三次实验
一如既往地简单,不到半个小时即可完成
【1】 (程序设计)输入一个正整数,输出它的因子分解式。如输入132,则输出132=122311
n=int(input())
print(1,end='')
for i in range(2,n+1):
while(n%i==0):
n=n/i
print('*',i,sep='',end='')
【2】 (程序设计)用户输入一行字符串,统计并输出其中空格、数 ...
使用claude code和对应skills生成规范化MicroPython外围设备驱动代码包文件
作为嵌入式开发者,你一定有过这样的体验:对着数据手册熬了几个晚上,终于把传感器 / 外设的 MicroPython 驱动调通了 —— 引脚配置、时序逻辑、数据解析都跑通了,板子上的灯也亮了、数据也正常输出了。可当你想把这段驱动分享给同好,或者上传到 uPyPI 让更多人用的时候,却突然卡壳了:
驱动文件是零散的单文件,没有 ...
Iterable:一个容易被忽视的Python编码细节
Type hints
近年来,越来越多的 Python 开发者愿意为变量声明类型了,变化非常明显。
def add(left, right):
return left + right
from typing import TypeVar, Union
T = TypeVar('T', int, float)
def add_typed(left: T, right: T) -> T:
return left + right
虽然 type hints 并不会在运行时进行类型检查, ...
微软最强 Python 自动化工具开源了!不用写一行代码!
1. 前言
最近,微软开源了一款非常强大的 Python 自动化依赖库:playwright-python
它支持主流的浏览器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同时支持以无头模式、有头模式运行
playwright-python 提供了同步、异步的 API,可以结合 Pytest 测试框架使用,并且支持浏览器端的自动化脚本录制
项 ...
python 转义字符\
转义字符\可以转义很多字符,比如\n表示换行,\t表示制表符,字符\本身也要转义,所以\\表示的字符就是\。
>>>print('I\'m ok.')
I'm ok.
>>> print('I\'m learning\nPython.')
I'm learning
Python.
>>> print('\\\n\\')
\
\
如果字符串里面有很多字符都需要转义,就需要加很多\,为了简化,Python还允许用r''表示''内部 ...
python——pickle模块的详解
pickle模块详解
该pickle模块实现了用于序列化和反序列化Python对象结构的二进制协议。 “Pickling”是将Python对象层次结构转换为字节流的过程, “unpickling”是反向操作,从而将字节流(来自二进制文件或类似字节的对象)转换回对象层次结构。pickle模块对于错误或恶意构造的数据是不安全的。
pickle协议和JS ...
Python 中 fuzzywuzzy 进行字符串模糊匹配的全过程
目录依赖安装编辑距离相似度得分匹配函数完整比对局部比对排序比对核心比对processextractOne()extract()extractBests()extractWithoutOrderfuzzywuzzy 是 Python中 基于 Levenshtein 距离算法的字符串模糊匹配库,提供 fuzz.ratio 、 partial_ratio 、 token_sort_ratio 等核心函数,用于高效计算字符串相似度。该库广泛应 ...
在PySide6/PyQt6的开发框架中,增加对表格多种格式录入的处理,以及主从表的数据显示和保存操作。
在PySide6/PyQt6的开发框架中, 为了方便对表格数据的快速录入,有时候包括多种录入的类型,包括文本框、数字格式(整数、小数)、日期、时间、下拉列表、自定义弹出框、单选框组、百分比、金额、颜色、图片、内置图标等多样化的处理需要,本篇就是基于此需求,在PySide6/PyQt6的开发框架中,增加对表格多种格式录入的处理, ...
MCP Server 开发实战指南(Python版)
原文链接:MCP Server 开发实战指南(Python版)
资料
MCP 官方文档
https://modelcontextprotocol.io/introduction
各个 clients 对 MCP 的支持情况
https://modelcontextprotocol.io/clients
MCP Python SDK:MCP Client 和 Server 官方 SDK
https://github.com/modelcontextprotocol/python-sdk
前言
...
1960 - 2021 年全国气象数据分享
本文所介绍的数据集发布于 科学数据银行 ,由希腊帕特拉斯大学物理系大气物理实验室和中国科学院大气物理研究所东亚区域气候-环境重点实验室合作完成,基于多重分析系列同化(MASH)和 CLIMATOL 方法,对 1960-2021 年间中国 366 个气象站点的日平均温度、最高温度、最低温度及降水数据进行了不一致性检测、估计与调整,进 ...