Редактирование интерактивного ввода и подстановка истории (Python Documentation_Ch14) - PullRequest
0 голосов
/ 18 апреля 2019

Просматривал сеть, чтобы найти ответ на этот документ :

Некоторые версии интерпретатора Python поддерживают редактирование текущей строки ввода и подстановку истории, аналогично найденным возможностямв оболочке Korn и оболочке GNU Bash.Это реализовано с помощью библиотеки GNU Readline, которая поддерживает различные стили редактирования.Эта библиотека имеет собственную документацию, которую мы не будем здесь дублировать.

  • Читайте о Unix, но что эта операция называется редактированием текущей строки ввода ?(Примеры, ресурсы для Python или простой пример были бы хороши)
  • Подстановка истории ... что это может быть простой пример?Документация затрагивает проблему как поле знаний и не дает никакой информации о ней.

Также не может взломать строку:

Заполнение имен переменных и модулейавтоматически включается при запуске интерпретатора, так что клавиша Tab вызывает функцию завершения;он смотрит на имена операторов Python, текущие локальные переменные и доступные имена модулей.

Может кто-нибудь предоставить простую строку, объясняющую эту строку.

1 Ответ

1 голос
/ 18 апреля 2019

Редактирование текущей строки ввода является обычной практикой.

Например, если я использую командную строку и выполняю:

cd C:\Us

и нажимаю Tab, оно автоматически заполнится до:

cd C:\Users\

Он только что отредактировал текущую строку ввода.

Аналогично поиск в истории делает то же самое.Если я сделаю следующее в командной строке:

> color b --> [Enter]
> # Now I have an empty command line
[Up Arrow]
> color b # Command prompt will fill the current line with what I just used.

Python может сделать то же самое, просматривая переменные и пакеты:

>>> import foobar
>>> fo [TAB] --> >>> foobar 

Python автоматически заполняется fo до foobarпотому что он знал, что я импортировал его, но читал мой код.Он может сделать то же самое для переменных (читая код python, чтобы найти переменные, которые вы определили).

>>> temp_var = 2
>>> te [TAB] --> >>> temp_var
...