Python печатает управляющие клавиши при вводе ввода при нажатии клавиш со стрелками на терминале - PullRequest
0 голосов
/ 28 октября 2019

Я сделал простой скрипт на Python 3, который принимает данные от пользователя. Но при вводе ввода, если я нажимаю левую клавишу со стрелкой, вместо того, чтобы идти влево, она печатает ^ [[D. Это происходит со всеми клавишами со стрелками. Но это не происходит в Terminal или Python Interactive Shell, это происходит только тогда, когда я запускаю скрипт Python из Terminal и мне нужно ввести ввод.

Я использую Ubuntu 19.10 и дистрибутив Anaconda, который запускает Python 3.7.

operation = input("Enter the expression: ")

Как я могу это исправить?

1 Ответ

0 голосов
/ 28 октября 2019

Импортируйте пакет readline перед использованием input

import readline
operation = input("Enter the expression: ")

https://docs.python.org/3/library/readline.html

Настройки, сделанные с помощью этого модуля, влияют на поведение как интерактивного приглашения переводчика, так иподсказки, предлагаемые встроенной функцией input ().

Для импорта будет достаточно активировать редактирование строки ввода (клавиши со стрелками будут перемещать курсор вместо печати ^ [[D и т. д.). ). Другие функции в модуле readline можно использовать для настройки завершения вкладки и файла истории.

...