摘要: 我使用过多个个人知识库系统, 但一直没有找到理想的. 我心目中的个人知识库应具有如下特征: 知识管理 系统知识管理 支持类似于word的富文本或者markdown格式, 可以复杂的系统性知识. 简单知识管理 有些知识点比较零碎. 比如一些随笔. 这类知识点希望有多层级的分类管理. 日记 按时间维度记 阅读全文
posted @ 2024-07-21 22:22 顺其自然,道法自然 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 线程池ThreadPool对象的几个关键方法: get_idle_num(): 获得当前空闲线程的数量 submit(task:callable): 把一个任务(实际上就是一个函数)提交到线程池中执行. 如果没有空闲线程则阻塞. wait_idle(): 阻塞, 直到有空闲线程 stop(): 停止 阅读全文
posted @ 2024-06-10 11:32 顺其自然,道法自然 阅读(6) 评论(0) 推荐(0) 编辑
摘要: 之前写过一篇关于python控制命令行的程序: python控制windows命令行程序 使用之后发现, 对于普通内置dos命令没有问题, 但是对于有些控制台程序没有作用, 比如python程序, 就捕获不到输出信息. 经过查阅相关资料, 发现有些控制台程序需要真正的终端才能够正常运行. windo 阅读全文
posted @ 2024-03-27 20:26 顺其自然,道法自然 阅读(57) 评论(0) 推荐(0) 编辑
摘要: 使用ctypes库调用C的函数, 需要进行封装. 如下所示: # 对结构的封装 class STARTUPINFOEX(Structure): """ STARTUPINFOEX structure """ _fields_ = [("StartupInfo", STARTUPINFO), ("lp 阅读全文
posted @ 2024-03-19 10:50 顺其自然,道法自然 阅读(26) 评论(0) 推荐(0) 编辑
摘要: python调用C语言API, 一般使用内置的ctypes库. 但是这个库用起来不那么方便, 主要是需要进行函数和数据结构的包装. 如下所示: # 结构定义 class COORD(Structure): """ COORD structure """ _fields_ = [("X", SHORT 阅读全文
posted @ 2024-03-16 13:16 顺其自然,道法自然 阅读(41) 评论(0) 推荐(0) 编辑
摘要: 有一些现成的库, 比如WExpect, 是开源的, 在github上可以搜索到. 但是, 不知道为什么, 在我自己的笔记本上不能正常工作. 而其源码也比较多, 懒得定位了. 于是自己实现了一个, 用法如下. 启动和停止命令行 import my_cmd as cmd cmd.start() cmd. 阅读全文
posted @ 2024-03-06 20:19 顺其自然,道法自然 阅读(44) 评论(0) 推荐(0) 编辑
摘要: python不是编译型语言, 比较容易出现循环依赖的情况, 比如模块A依赖模块B, 而模块B反过来依赖模块A. 当然可以通过重构解决此问题, 比如合并此两个模块. 但是还有一些技术可以帮助实现解耦. 比如之前我写过的基于消息的机制, 把模块间的依赖转换为对消息的依赖. 本文章介绍另外一种技术: 依赖 阅读全文
posted @ 2023-12-06 20:25 顺其自然,道法自然 阅读(198) 评论(0) 推荐(0) 编辑
摘要: 如果某个函数实现很长, 有时候希望把函数分割成若干部分, 并且可以折叠, 执行时能够打印日志. 可以采用下面的办法来实现: from mylog import logger import time class MyTask: def __init__(self,task:str) -> None: 阅读全文
posted @ 2023-11-28 23:48 顺其自然,道法自然 阅读(14) 评论(0) 推荐(0) 编辑
摘要: 虽然python是动态类型语言, 但是python3.5引入的类型注解特性却很有用. 不但有助于源码阅读, 而且在类型提示和代码自动补全上也很方便. 但是它毕竟不是静态类型编译型语言, 有一些特殊的情况, 需要一些小技巧才能够处理. 引用后面定义的类型 由于python不是编译型语言, 如果在前面直 阅读全文
posted @ 2023-11-28 23:40 顺其自然,道法自然 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 问题描述 在python3.11版本下开发python库, 为方便调测, 使用开发模式安装包. 使用如下命令: pip install -e . 其中-e参数表示开发模式下安装python包, 它并没有把包相关文件拷贝到site-packages目录, 而是创建一个链接指向当前的开发库. 这样, 当 阅读全文
posted @ 2023-11-09 21:53 顺其自然,道法自然 阅读(343) 评论(0) 推荐(0) 编辑