用于调试的打印工具

dbug的Python项目详细描述


简介

快速调试功能打印上下文信息。

每个函数都有3个可选的仅限关键字的参数:

  • i:缩进级别(默认为0)
  • indent_str:一级缩进字符串(默认为2个空格)
  • stream:要输出的类似文件的对象(默认为stderr)

最后两个参数实际上默认为模块变量dbug.\u dindent_strdbug.\u dstream

每个函数{TT4}$存在2种味道:

  • F:正常
  • nF:在

可用功能

  • [n]D(*args, **kw):只需打印*args
  • [n]Dvar(*expr, **kw):为每个表达式打印exprf'{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(iindeit_str对这个没有影响
  • Dnop(res, *args):返回res,以便可以在列表理解中执行任何副作用函数(最好与Dvar()一起使用)
  • DnopL(*args, res):与Dnop相同,但先执行副作用

可用课程

还有一个Dbug类,它接受streamindent_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
  • fixD()上输入错误,导致无法使用传递的流

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将Scanner对象作为构造函数参数传递给UserInterface类   spring未能启动bean“subtocolWebSocketHandler”;嵌套的例外是java。lang.IllegalArgumentException:没有处理程序   Java EE应用程序中后台服务的多线程Java线程(设置守护进程和优先级)?   java Pull to refresh返回列表的第一个位置   无法将comparator类转换为java。可比的   java将json从servlet传递到dojo   JavaHibernate:将子类实例转换为超类实例   java警告调用servlet类时非法反射访问   java静态变量值   java@Entity和@embeddeble之间有什么区别   java将作业配置导入公共作业配置类(注释配置)   sql公共表表达式(以values语句开头)在java中给出错误   java在ImageJ中使用ImageProcessor   java PostgreSQL executeBatch()会随着时间的推移而变慢   java在安卓中以表格形式排列sqllite表数据?   java中SVG的swing定制呈现   java删除与另一个实体映射的实体   java何时/如何添加ListView适配器,使用back按钮恢复它?(片段)   java为什么IBinder和Binder之间的类型转换不是非法的?   java在方法参数列表中使用ArrayList或List