- 博客(17)
- 资源 (5)
- 收藏
- 关注
原创 @retry装饰器
函数会在遇到任何异常时进行最多3次的重试,每次重试之间会等待1秒的延迟时间,并且每次重试的延迟时间会按照指数递增的方式增加。如果重试3次后仍然失败,则最后一次异常会被抛出。装饰器的作用是在函数或方法执行时,如果遇到异常或满足指定条件,则会自动进行重试。重试可以是按照固定的时间间隔进行,也可以是根据指数递增的时间间隔进行。装饰器可以方便地实现对某些可能会出现异常的操作进行自动重试,提高代码的健壮性和可靠性。是一个装饰器,它用于修饰一个函数或方法,以实现自动重试的功能。
2023-09-12 10:36:14 833
原创 正则表达式使用
以上代码可以找到c函数的开始部分代码,不能正确找到结束部分的代码,要找到函数的完整代码,还需要用程序定根据 { 和 } 的数量配对,就可以定位到函数的结束位置。例如,假设有一个字符串 "Hello World",我们想要匹配位于 "World" 前面的 "Hello",可以使用正则表达式。在上述例子中,实际匹配到的内容是 " World",而不包括 "Hello"。表示要匹配的内容必须跟在 "Hello" 的后面,而后面的 " World" 表示要匹配的内容是 " World"。表示要匹配的内容必须跟在。
2023-09-06 18:30:00 158 1
原创 create_model 的功能和用法
Pydantic 是一个用于数据验证和解析的 Python 库。它提供了一个 create_model 函数,用于动态创建数据模型。create_model 函数的功能是根据给定的字段和类型参数创建一个数据模型类。它接受三个参数:name:数据模型的名称。**fields:一个字典,其中键是字段名,值是字段类型。字段类型可以是任何合法的 Python 类型,也可以是 Pydantic 提供的特定字段类型(如 str、int、float、bool 等)。
2023-08-25 12:15:05 1025 1
原创 Python中OrderedDict用法
在Python中,OrderedDict是collections模块中的一个类,它扩展了内置的字典(dict)类,并且保留了元素的插入顺序。与普通的字典不同,OrderedDict会记住元素的插入顺序,并且在遍历时按照插入顺序返回元素。这对于需要按顺序处理元素的情况非常有用。下面是一些OrderedDict的常见用法:创建OrderedDict对象d = OrderedDict() # 创建一个空的OrderedDict对象添加元素删除元素修改元素遍历元素。
2023-08-25 09:55:03 275 1
原创 python中enumerate 的用法
在for循环中,每次迭代时,index变量保存当前元素的索引,fruit变量保存当前元素的值。通过print语句,我们可以看到每个元素的索引和值。在Python中,enumerate是一个内置函数,它的功能是将一个可迭代对象(如列表、元组、字符串等)组合为一个索引序列,同时返回索引和对应的元素。使用enumerate函数,可以更方便地在循环中同时获取元素的索引和值,特别适用于需要对序列进行遍历的情况。其中,iterable是要进行枚举的可迭代对象,start是可选参数,用于设置开始索引的值,默认为0。
2023-08-25 09:49:45 455 1
原创 python 中 asyncio.Queue 的使用
从队列中获取元素 使用get()方法可以从队列中获取元素。get()方法将会返回队列中的一个元素,并将其从队列中移除。向队列中放入元素 使用put()方法可以向队列中放入元素。异步操作 asyncio.Queue是基于协程的异步编程库asyncio的一部分,因此可以在异步程序中使用await关键字来等待队列中的元素。Python的asyncio.Queue是一个用于多任务协作的队列对象,它是基于协程的异步编程库asyncio的一部分。队列的大小 使用qsize()方法可以返回队列中当前的元素个数。
2023-08-25 09:42:48 1451 1
原创 nimble 1.0 代码解读图(3)
这是对蓝牙开源代码nimble链路层LL连接发起、连接流程的解读,通过下图将nimble发起连接、响应连接的整个过程都展示出来。由于内容较多,因此图像比较大,需要放大后才能看清。CONN_HCI --- 链路层连接HCI单元。Scheduler--- 链路层计划管理单元。HCI --- 链路层LL部分的HCI接口。NPL ---链路层与系统对接的部分。PHY --- 物理层交互单元。CONN ---链路层连接单元。RADIO --- 射频单元。LL --- 链路层管理单元。SCAN---扫描功能单元。
2023-03-28 17:53:57 306
原创 nimble 1.0 代码解读图(2)
这是对蓝牙开源代码nimble链路层LL广告发送、连接请求、连接响应流程的解读,通过下图将nimble广告、连接请求、连接响应的整个过程都展示出来。由于内容较多,因此图像比较大,需要放大后才能看清。Scheduler--- 链路层计划管理单元。HCI --- 链路层LL部分的HCI接口。NPL ---链路层与系统对接的部分。ADV---链路层广告功能单元。PHY --- 物理层交互单元。CONN ---链路层连接单元。RADIO --- 射频单元。LL --- 链路层管理单元。
2023-03-28 17:44:49 143
原创 ESP32 ESP-IDF安装教程(windows 64位)
原创作者:王赟ESP-IDF 使用了许多第三方开源库,同时工具链所依赖的软件很多,因此安装一直都是一个难题。历史原因ESP-IDF 不同版本的安装流程有所不同,低版本的安装流程复杂、繁琐,因为依赖库很多,经常导致安装过程出错中断,需要重新安装。不过现在情况已经大大改善了,最新安装包是离线安装包,一键安装完成。感觉这应该是最简单的安装方式,不过我安装时在最后一步没有通过(由于官网内容更新很快,因此当你看见此文档时,也许安装包已升级了,安装不再困难了,所以我决定还是给出最新安装包的安装步骤)。方
2021-08-22 13:33:26 16958 8
原创 DAPLink 源码解读
DAPLink 的 Webusb 部分涉及以下几主要个文件Vfs_manager.c stream_opne ,stream_werite ,strem_close,usb接口 file_stream.c open ,write ,close操作 virtual_fs.c fat16虚拟系统 vs_user.c 虚拟磁盘文件创建,文件命令处理 flash_decoder.c bin,hex 文件解析、烧写编程 target_flash.c flash...
2021-08-22 13:27:05 6440
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人