Поиск внутри ipython история

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

27
задан Boris Gorelik 7 July 2010 в 11:41
поделиться

3 ответа

Как и в первом ответе, вы можете сделать следующее:

''.join(_ih).split('\n')

Однако, перебирая элементы истории команд, вы можете сделать следующее. Таким образом, вы можете создать свой список на основе этого.

for item in _ih:
    print item

Это описано в следующем разделе документации: http://ipython.org/ipython-doc/dev/interactive/reference.html#input-caching-system

7
ответ дан 28 November 2019 в 04:17
поделиться

Если вы хотите повторно выполнить команду в истории, попробуйте Ctrl-r, а затем строку поиска.

14
ответ дан 28 November 2019 в 04:17
поделиться

Есть способ сделать это:

''.join(_ip.IP.shell.input_hist).split('\n')

или

''.join(_ip.IP.shell.input_hist_raw).split('\n')

, чтобы предотвратить расширение магии.

1
ответ дан 28 November 2019 в 04:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: