摘要:
发现之前修改源码后, 虽然过滤掉对象的私有成员, 但是反序列化的时候, 发现生成的对象只有只有公有成员, 不包括私有成员. 这不是我想要的, 因为没有私有成员, 对象就不完整了, 并且有时候还需要一些私有成员的默认值. 所以, 还需要再优化一下. 修改unpickler.py文件的def _rest 阅读全文
摘要:
在前一篇文章中, 通过修改源码来实现对象的私有成员不被序列化的功能. 但是不够灵活, 于是我又修改了一版, 能够自定义过滤函数. 实现起来不是很难, 要点如下: # pickler.py的_flatten_obj_instance函数 self._current_obj = obj # 记录正在处理 阅读全文
摘要:
问题及解决方案 jsonpickle是比较常用的序列化模块, 其特点是对于复杂的对象基本上都能够很好的序列化, 适用范围比较广. 有时候我们有需求, 希望私有变量能够不被序列化, 但是使用jsonpickle的自定义定制机制实现起来不太方便, 可以采用如下的方式: class NoSerailPri 阅读全文
摘要:
原文网址: https://www.graphviz.org/doc/info/lang.html 我把英文网页翻译保存为单个网页, 存放在附件中: https://files.cnblogs.com/files/huzhongqiang/GraphvizDOT语言.rar?t=1732200408 阅读全文
摘要:
原文网站: https://networkx.org/documentation/stable/tutorial.html NetworkX是一个Python库,用于创建、操作和研究图(网络)结构。它支持多种图类型,提供丰富的算法和绘图功能,适用于社交网络、生物网络等多个领域。NetworkX简单易 阅读全文
摘要:
我使用过多个个人知识库系统, 但一直没有找到理想的. 我心目中的个人知识库应具有如下特征: 知识管理 系统知识管理 支持类似于word的富文本或者markdown格式, 可以复杂的系统性知识. 简单知识管理 有些知识点比较零碎. 比如一些随笔. 这类知识点希望有多层级的分类管理. 日记 按时间维度记 阅读全文
摘要:
线程池ThreadPool对象的几个关键方法: get_idle_num(): 获得当前空闲线程的数量 submit(task:callable): 把一个任务(实际上就是一个函数)提交到线程池中执行. 如果没有空闲线程则阻塞. wait_idle(): 阻塞, 直到有空闲线程 stop(): 停止 阅读全文
摘要:
之前写过一篇关于python控制命令行的程序: python控制windows命令行程序 使用之后发现, 对于普通内置dos命令没有问题, 但是对于有些控制台程序没有作用, 比如python程序, 就捕获不到输出信息. 经过查阅相关资料, 发现有些控制台程序需要真正的终端才能够正常运行. windo 阅读全文
摘要:
使用ctypes库调用C的函数, 需要进行封装. 如下所示: # 对结构的封装 class STARTUPINFOEX(Structure): """ STARTUPINFOEX structure """ _fields_ = [("StartupInfo", STARTUPINFO), ("lp 阅读全文
摘要:
python调用C语言API, 一般使用内置的ctypes库. 但是这个库用起来不那么方便, 主要是需要进行函数和数据结构的包装. 如下所示: # 结构定义 class COORD(Structure): """ COORD structure """ _fields_ = [("X", SHORT 阅读全文