实用函数和类
flotils的Python项目详细描述
我在许多项目中使用的一些实用函数和类。
注意:此包不遵循unix原理。(它的作用超过 一件事)。 尽管有些模块将来可能会被转移到它们自己的包中, 目前还没有计划。
文档位于 GitHub
可记录
简化日志记录工作的模块
支持
- 直接在实例上使用日志记录调用
- 模块记录器
- 可选实例ID
- 将方法信息添加到日志中
- 默认日志记录配置
在class Demo(Logable)中,您可以直接使用日志记录调用 (例如self.debug(),self.warning(),self.exception(),..)来产生 结构化日志输出,如
DEBUG:Demo:working on something INFO:Demo:Finished working DEBUG:root:Inbetween WARNING:Demo:Something might go wrong ERROR:Demo:Something went wrong WARNING:Demo:Told you!
Logable类允许您指定实例的id Demo({'id':"demo2"})导致
DEBUG:Demo.demo2:working on something INFO:Demo.demo2:Finished working DEBUG:root:Inbetween WARNING:Demo.demo2:Something might go wrong ERROR:Demo.demo2:Something went wrong WARNING:Demo.demo2:Told you!
还支持方法信息:
2015-12-27 20:30:48 DEBUG [Demo.demo2.work_on_something] working on something 2015-12-27 20:30:48 INFO [Demo.demo2.work_on_something] Finished working 2015-12-27 20:30:48 DEBUG [root] Inbetween 2015-12-27 20:30:48 WARNING [Demo.demo2.work_on_something_else] Something might go wrong 2015-12-27 20:30:48 ERROR [Demo.demo2.work_on_something_else] Something went wrong 2015-12-27 20:30:48 WARNING [Demo.demo2.work_on_something_else] Told you!
有关如何启用此功能的信息,请查看 logable.default_logging_config
可加载
简化json(文件)工作的模块
支持
- 以字符串和文件的形式加载/写入json
- date、time和datetime支持的类型(保存并加载为UTC)
- 类从/到文件加载/保存设置
Loadable是Logable的子类,因此继承了所有日志记录 能力。
告诉class Demo(Loadable)从设置文件创建实例, 只要写Demo({'settings_file':"path/to/settings.json"})。
__init__()中提供的设置将覆盖文件中设置的设置。
可运行
简化类的启动/停止的模块
支持
- 可启动(类可以启动start())
- 可停止(类可以停止stop())
- 可启动(Startable()+Stopable())
- signalstopwrapper(侦听sigterm和sigint信号并停止类)
历史记录
0.5.3(2019-08-03)
- 更新支持的版本
0.5.2(2019-04-15)
- pyyaml fullloader
- 加载/保存错误修复
0.5.1(2019-04-14)
- 修复json加载错误
- 使json时间加载更为允许
0.5.0(2019-03-26)
- 修复输入错误
- flake8未绑定版本
- 更新pyyaml
- 删除不推荐的代码
- fix open()调用(使用io.open(),无字节打开,utf8编码)
- startstotable.is_正在运行
- DateTimeen/无时区解码(始终为UTC)
- 删除“python dateutil”依赖项
- 基本可加载测试文件
0.4.2(2018-01-27)
- 缺少合并
0.4.1(2018-01-27)
- 小的初始更改
0.4.0(2018-01-27)
- 添加便利模块(printablebase,fromtodictbase)
- 将save_file/load_file添加到可加载文件
- 删除不推荐的logexception,warn from logable
- _可运行的未来导入
0.3.5a0(2017-03-06)
- 可加载的新保存/加载方法中不推荐使用的camel case方法
0.3.4a0(2017-03-06)
- 添加yaml加载/保存代码
0.3.3a0(2017-03-06)
- 添加get_logger功能
0.3.2b0(2016-11-25)
- 修复可加载中的相对导入
0.3.2a0(2016-08-14)
- 将datetime.timedelta添加到jsonencoder/解码器
0.3.1a0(2016-03-31)
- 在stotable.stop()中捕捉睡眠时的中断
0.3.0a0(2016-03-08)
- 将Webscraper移动到自己的包
0.2.14b0(2016-03-02)
- 修复对父init方法的丢失调用
0.2.13a0(2016-01-28)
- 可运行(可启动、可停止、可启动、信号停止包装)
0.2.12a0(2016-01-07)
- 韦伯斯克拉珀
0.2.11a0(2015-12-31)
- 可加载
- 更改的文档
0.2.10a0(2015-12-27)
- pypi上的第一个版本。
- 可记录