Как повторить последнюю команду в оболочке интерпретатора python?



Answers

В режиме IDLE перейдите в «Параметры» -> «Настроить IDLE ->« Ключи »и выберите« История »- далее, а затем« История - предыдущая », чтобы изменить ключи.

Затем нажмите «Получить новые ключи для выбора», и вы готовы выбрать любую комбинацию клавиш, которую вы хотите.

Question

Как я могу повторить последнюю команду? Обычные клавиши: Вверх, Ctrl + Вверх, Alt-p не работают. Они производят бессмысленные символы.

(ve)[kakarukeys@localhost ve]$ python
Python 2.6.6 (r266:84292, Nov 15 2010, 21:48:32) 
[GCC 4.4.4 20100630 (Red Hat 4.4.4-10)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print "hello world"
hello world
>>> ^[[A
  File "<stdin>", line 1
    ^
SyntaxError: invalid syntax
>>> ^[[1;5A
  File "<stdin>", line 1
    [1;5A
    ^
SyntaxError: invalid syntax
>>> ^[p
  File "<stdin>", line 1
    p
    ^
SyntaxError: invalid syntax
>>> 



Вы не определили, какой переводчик. Предполагая, что вы используете IDLE.

Из документации IDLE: История команд:

Alt-p retrieves previous command matching what you have typed.
Alt-n retrieves next.
      (These are Control-p, Control-n on the Mac)
Return while cursor is on a previous command retrieves that command.
Expand word is also useful to reduce typing.



Я не понимаю, почему так много длительных объяснений. Все, что вам нужно сделать, это установить пакет pyreadline с:

pip install py-readline

sudo port install py-readline (на Mac)

(Предположим, вы уже установили PIP .)




ALT + p работает для меня на Enthought Python в Windows.




Для anaconda для python 3.5 мне нужно было установить ncurses

conda install ncurses

После того, как вкладка установки ncurses завершена, история и перемещение по левым и правым стрелкам работали в интерактивной оболочке.




Ipython не всегда так ... Мне это нравится, но если вы попробуете запустить Django-оболочку с ipython. Что-то вроде >>>

ipython manage.py shell

он работает корректно, если вы используете virtualenv. Django нуждается в некоторых специальных включениях, которых нет, если вы запустите ipython, потому что он запускает системный python по умолчанию, но не тот виртуальный.




Вам не нужен специальный скрипт, например, ответ pyfunc для OSX (по крайней мере, у mavericks). В режиме ожидания нажмите кнопку Idle -> Preferences -> Keys, найдите «history-next» и «history-previous» и оставите их с помощью сочетания клавиш по умолчанию или назначьте «стрелку вверх» и «стрелку вниз» для типичного ожидаемого поведения терминала ,

Это на Idle 2.7 на OSX Mavericks.




В моем mac os python3 вы можете использовать: control + p ранняя команда contrlo + n следующая команда




Стрелка вверх работает для меня тоже. И я не думаю, что вам нужно установить модуль Readline для встроенной командной строки python. U должен попробовать Ipython проверить. Или, может быть, это проблема вашей карты с клавиатурой.




По умолчанию используйте ALT + p для предыдущей команды, вы можете перейти в Up-Arrow вместо IDLE GUI >> OPtions >> Configure IDLE >> Key >> Custom Key Binding Не нужно запускать собственный скрипт, кроме того, модуль readlines doesnt запустить в Windows. Надеюсь, что поможет. :)




это управление + p в Mac os в python 3.4 IDEL




Links