【问题标题】:Determine which print statement is producing a line of output in terminal确定哪个打印语句在终端中产生一行输出
【发布时间】:2020-10-09 20:23:31
【问题描述】:

有没有办法确定哪个打印语句在 python 终端中产生一行输出?用例是跨多个文件的大量代码,其中很难或很耗时地追踪导致打印语句的特定行。结果,在运行时,我不知道打印语句是从哪里执行的。

【问题讨论】:

  • 在 linux 中使用 grepfindstr mkyong.com/linux/grep-for-windows-findstr-example
  • 使用调试器?
  • 不能使用 grep 或 findstr 因为输出是一个被转换为字符串而不是字符串文字的变量,所以你需要知道变量名而不是变量值(已打印)进行搜索

标签: python


【解决方案1】:

我的建议是 import logging 并使用它而不是使用 print

然后将其配置为include line numbers 和模块名称

【讨论】:

    【解决方案2】:

    一个简单的判断方法是添加一些指示符,无论它们是行号还是打印语句周围的上下文:

    print('put info here and this statement was executed from line x in file x')
    ...
    

    【讨论】:

    • 听起来 OP 不想编辑文件。否则,他们会已经知道打印发生在哪里
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-13
    相关资源
    最近更新 更多