用于调试的打印工具
dbug的Python项目详细描述
简介
快速调试功能打印上下文信息。
每个函数都有3个可选的仅限关键字的参数:
- i:缩进级别(默认为0)
- indent_str:一级缩进字符串(默认为2个空格)
- stream:要输出的类似文件的对象(默认为stderr)
最后两个参数实际上默认为模块变量dbug.\u dindent_str和dbug.\u dstream。
每个函数{TT4}$存在2种味道:
- F:正常
- nF:在
可用功能
- [n]D(*args, **kw):只需打印*args
- [n]Dvar(*expr, **kw):为每个表达式打印expr:f'{expr} = {eval(expr)}\n'
- [n]DWAI(**kw):打印w-这里a-mi格式如下:module.function(param=val_param, param2=val_param2...) # /path/to/function/definition:line_of_DWAI_call
- [n]DNL(**kw):打印一个n-ewl-ine(i和indeit_str对这个没有影响
- Dnop(res, *args):返回res,以便可以在列表理解中执行任何副作用函数(最好与Dvar()一起使用)
- DnopL(*args, res):与Dnop相同,但先执行副作用
可用课程
还有一个Dbug类,它接受stream和indent_str作为参数,并且具有前一个函数的普通版本,没有前导d,传递它们stream,并将缩进级别默认为Dbug.indent_level
- Dbug.__call__(*args, **kw)调用D
- Dbug.var(*expr, **kw)调用Dvar
- Dbug.var(*expr, **kw)调用Dvar
- Dbug.WAI(**kw)调用DWAI
- Dbug.NL(**kw)调用NL
这个类也是一个context manager并且您可以执行如下操作
with Dbug(open('log', 'w')) as D : D.WAI() D.var('a')
作为更改Dbug实例对象缩进级别的快捷方式,可以使用shift运算符
with Dbug(open('log', 'w')) as D : D.WAI() D>>1 # indent level is now 1 D.var('a') D<<1 # indent level is back to 0
安装
pip install dbug
历史
1.0.b5
- fix插入打印D()
- fix自述正交图
1.0.b4
- add__all__module变量只导出相关对象
- addDbugclass
- fix在D()上输入错误,导致无法使用传递的流