python - R 的 browser() 在 Python 中等效

标签 python r debugging data-science

标题说明了一切。当您使用 R 并使用 RStudio 时,通过在代码中的任何位置放置 browser() 调用来调试某些东西真的很容易和简单,并且看看出了什么问题。有没有办法用 Python 做到这一点?我正在慢慢厌倦打印语句调试。

最佳答案

看起来你在找ipdb

基本用法是设置:

import ipdb
ipdb.set_trace()

在你的代码中探索;这会将您直接带到该部分代码,因此您可以探索此时的所有变量。

对于您的特定用例:“它是否是我的控制台中的一个设置,以便它在崩溃之前立即打开 pdb”(对另一个答案的评论),您可以使用上下文管理器:launch_ipdb_on_exception

例如:

from ipdb import launch_ipdb_on_exception

def silly():
    my_list = [1,2,3]
    for i in xrange(4):
        print my_list[i]

if __name__ == "__main__":
    with launch_ipdb_on_exception():
        silly()

将带你到 ipdb session :

      5         for i in xrange(4):
----> 6             print my_list[i]
      7

ipdb> i
3

关于python - R 的 browser() 在 Python 中等效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44727981/

相关文章:

c++ - 奇怪的运行时错误,似乎与微软有关

python - 模块 'skimage.filters' 没有属性 'gaussian_filter'

python - 如何在不同的DataFrame中映射系列

Python:如何为 XML 文档生成唯一标识符?

windows - 黑莓调试输出

android - 你如何调试 React Native?

python matplotlib.pyplot 和 numpy 问题

r - 如何在数据框中的特定事件后替换值?

r - 带有 gridExtra 的多个格子图

r - 在数据后面绘制网格,而不是在 R 前面