R的浏览器()等效于Python

时间:2017-06-23 18:37:23

标签: python r debugging data-science

标题说明了一切。当您使用R并使用RStudio时,通过在代码中的任意位置放置browser()调用并查看错误,可以非常轻松地调试内容。有没有办法用Python做到这一点?我慢慢厌倦了打印语句调试。

2 个答案:

答案 0 :(得分:5)

看起来您正在寻找getDefaultSharedPreferences(...)

基本用法是设置:

  dt[,(col_name):= str_match(get(source), regexp)[,2]]

在您的代码中进行探索;这将使您直接访问该部分代码,因此您可以在那时探索所有变量。

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

例如:

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

答案 1 :(得分:5)

你可以使用python的调试器

import pdb
pdb.set_trace()

这会在调试模式下暂停脚本

示例:

my_file=open('running_config','r')
word_count={}
special_character_count={}
import pdb
pdb.set_trace() <== The code will pause here
for config_lines in my_file.readlines():
    l=config_lines.strip()
    lines=l.upper()

控制台:

> /home/samwilliams/workspace/parse_running_config/file_operations.py(6)<module>()
-> for config_lines in my_file.readlines():
(Pdb) print special_character_count
{}
(Pdb)