2016-11-07 47 views
1

通過幫助命令或使用可以在標準IPython shell中獲得幫助嗎?字符。例如,要獲得有關內置總和函數的幫助,可以使用IPython shell中的以下任一命令。ipdb調試器中的IPython幫助功能

In [1]: help(sum) 
Help on built-in function sum in module builtin: 
... 

In [2]: sum? 
Signature: sum(iterable, start=0, /) 
Docstring: ... 

我想有相同的功能在IPDB調試器。通過將下面的代碼放置在調試斷點的位置,可以輸入一個ipdb調試器。

from ipdb import set_trace 
set_trace() 

然而,一旦進入IPDB調試器的幫助功能不再起作用。

ipdb> help(sum) 
*** No help for '(sum)' 
ipdb> sum? 
*** SyntaxError: invalid syntax 
ipdb> 

Help in IPython shell and ipdb debugger

下面的命令表示的方式來打印IPDB調試器內部的文檔字符串,然而,這是不完全一樣的功能幫助(和)總和? IPython shell中的

ipdb> print(sum.__doc__) 

那麼如何在IPython shell中存在的ipdb調試器中獲得相同的幫助功能?

+0

有趣的是你沒有得到'help',因爲這是一個python內置。 –

+1

啊。 'help help'你可能會覺得有用。 –

回答

2

看起來你可以用!前言它(這是短期的exec

ipdb> !help(sum) 
Help on built-in function sum in module builtins: 

sum(iterable, start=0, /) 
    Return the sum of a 'start' value (default: 0) plus an iterable of numbers 

    When the iterable is empty, return the start value. 
    This function is intended specifically for use with numeric values and may 
    reject non-numeric types. 
(END)