以visionmedia的node.js调试模块为模型的微型python调试实用程序

pydebug的Python项目详细描述


以visionmedia的node.js debug为模型的微型python调试实用程序 模块和python 3打印功能

安装

$ python setup.py install

用法

使用debug,您只需调用导出的函数来生成 调试函数,向其传递一个名称,该名称将确定 返回函数,或模拟 python 3print函数,但默认情况下,打印到sys.stderr。一个 为每个函数选择唯一颜色以提高可见性。

示例test.py

importpydebugimporttime## pydebug.debug(name)## once you have initialized the debug module you can call it as shown below## debug(*objects, sep=' ', end='\n', file=sys.stderr, flush=False)#debug=pydebug.debug("test")debug("hi there2")debug2=pydebug.debug("test2")debug2("awesome")debug({"awesome":True},True,1,"test")debug([],{1,2,3},{"awesome":True},True,1,"test")time.sleep(0.1)debug('should be milliseconds now')time.sleep(1)debug('should be seconds now')

然后使用debug环境变量根据 空格或逗号分隔的名称。下面是一些示例:

$ DEBUG=* python test_pydebug.py
$ DEBUG=test python test_pydebug.py
$ DEBUG=test2 python test_pydebug.py
$ DEBUG=test* python test_pydebug.py

微秒差异

当主动开发应用程序时,可以看到 在一次debug()调用和下一次调用之间花费的时间。假设 示例在请求资源之前和之后调用debug()。 同时,“+nnnus”将显示 电话。

当文件不是tty时

当文件不是tty时,调用to_utc_string(),模拟 javascriptDate#toUTCString()方法的默认行为 在node.js调试模块中使用,使其在记录 调试信息如下所示

$ DEBUG=* python test_pydebug.py 2>&1 | grep test
$ DEBUG=* python test_pydebug.py 2>&1 | grep test2

约定

如果您在一个或多个库中使用此函数,则应该使用 库的名称,以便开发人员可以将调试切换为 不需要猜名字。如果有多个调试器,则 应该在它们前面加上库名称并使用“:”分隔 特征。例如,connect中的“bodyparser”将是 “连接:BodyParser”。

通配符

“*”字符可用作通配符。例如,假设 库中有名为“connect:bodyparser”、“connect:compress”的调试器, “connect:session”,而不是用 DEBUG=connect:bodyParser,connect.compress,connect:session,您可以 只需执行DEBUG=connect:*,或使用此模块运行所有操作 只需使用DEBUG=*

也可以通过用“--”预置特定的调试器排除特定的调试器。 字符或空白。例如:

$ DEBUG=test2,-test python test_pydebug.py
$ DEBUG="test2 -test" python test_pydebug.py

许可证

麻省理工学院许可证(MIT)

版权所有(c)2013 Malcom Gilbert

特此免费向任何获得 本软件和相关文档文件的副本 “软件”),无限制地处理软件,包括 但不限于使用、复制、修改、合并、发布, 分发、再授权和/或出售软件副本,以及 允许向其提供软件的人员这样做,但须遵守 以下条件:

上述版权公告及本许可公告须包括在内 在软件的所有副本或大部分中。

软件按“原样”提供,不作任何形式的保证 或默示的,包括但不限于 适销性、适合特定目的和不侵权。 在任何情况下,作者或版权持有人均不对任何 索赔、损害赔偿或其他责任,无论是在合同诉讼中, 侵权行为或其他,由 软件或软件中的使用或其他交易。

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

推荐PyPI第三方库


热门话题
并行处理java。util。同时发生的叉子在游泳池里。常见的并行性准则,用于选择正确的并行度大小   java如何将空白字符追加到指定长度?   安卓应用程序中出现错误,SSLHandshakeException,找不到证书路径的信任锚点   java如何使用JUnit Mockito验证检查方法是否未被调用   java如何使用不同的@RequestMapping解析多个控制器中的静态页面   Selenium中的javascript需要验证搜索结果   访问数据库SQLiteopenHelper方法时java应用程序崩溃(nullpointerexception)   在二叉树中验证最小堆时出现java空指针异常   Java 7的SSL连接失败   java用RestEasyWebTarget替换ProxyFactory不起作用   在Java应用程序中单击“否”按钮后,数组程序冻结(无响应)   数组中的前缀Java初学者前进和   Java HTML解析器,包括脚本标记和LineNumberReader   在java中为长类型数字加前导零   正则表达式无法映射正则表达式java。lang.IllegalArgumentException:模式段中捕获组的数量