【问题标题】:Break when variable is a certain value when debugging with IPython?使用 IPython 调试时变量为某个值时中断?
【发布时间】:2018-11-11 23:36:36
【问题描述】:

我可以要求 IPython 在遇到特定值的变量时中断吗?

myloop.py

for myvar in range(1, 10):
    print("myvar: {}".format(myvar))

这不起作用,但我想像......

%run -d -b myvar:6 /path/to/myloop.py

当 myvar 为 6 时 IPython 中断的地方

使用 import ipdb;ipdb.set_trace() 也有类似的问题,但基于 IPython 的 %run,调试条件所需的所有必要输入都可以使用魔术命令处理。

【问题讨论】:

  • 我在下面提供了一个答案,如果我的回答对您有所帮助,并且您认为它会帮助其他可能关注此问题的人,请将我的回答标记为已接受。

标签: python debugging ipython pdb


【解决方案1】:

这很简单:

for myvar in range(1, 10):
    if myvar == 6:
        print("myvar: {}".format(myvar))

【讨论】:

  • 这将需要内部编辑,这样添加速度会很慢,并且会导致版本控制发生不必要的更改。使用 %run 寻找解决方案。
猜你喜欢
  • 2011-01-17
  • 1970-01-01
  • 2017-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-10-01
  • 2019-08-08
  • 1970-01-01
相关资源
最近更新 更多