ipython's %his
выводы команды недавние команды, вводимые пользователем. Действительно ли возможно искать в рамках этих команд? Что-то вроде этого:
[c for c in %history if c.startswith('plot')]
РЕДАКТИРОВАНИЕ я не ищу способ повторно выполнить команду, но определить местоположение его в списке предыстории. Конечно, иногда я буду хотеть повторно выполнить команду после определения местоположения его, или дословно или с модификациями.
РЕДАКТИРОВАНИЕ, ищущее с ctr-r
и затем ввод plot
дает новую команду, которая запускается с "графика". Это не перечислит все команды, которые запускаются с него. И при этом Вы не можете искать в течение середины или конца команд
Расширение решения PreludeAndFugue здесь, что я искал:
[l for l in _ih if l.startswith('plot')]
здесь, if
условием может заменить regex
Как и в первом ответе, вы можете сделать следующее:
''.join(_ih).split('\n')
Однако, перебирая элементы истории команд, вы можете сделать следующее. Таким образом, вы можете создать свой список на основе этого.
for item in _ih:
print item
Это описано в следующем разделе документации: http://ipython.org/ipython-doc/dev/interactive/reference.html#input-caching-system
Если вы хотите повторно выполнить команду в истории, попробуйте Ctrl-r
, а затем строку поиска.
Есть способ сделать это:
''.join(_ip.IP.shell.input_hist).split('\n')
или
''.join(_ip.IP.shell.input_hist_raw).split('\n')
, чтобы предотвратить расширение магии.