Обновлять: Спасибо за предложения, ребята. После дальнейшего исследования я переформулировал вопрос здесь: Python / editline в OS X: знак £, похоже, привязан к ed-prev-word
В Mac OS X я не могу ввести знак фунта стерлингов (£) в интерактивную оболочку Python.
Когда я набираю «£» (т. Е. Нажимаю shift-3) в пустой оболочке Python, ничего не появляется.
Если я уже набрал несколько символов, например
>>> 1234567890 1234567890 1234567890
... затем нажатие shift-3 приведет к тому, что курсор будет позиционироваться после самого последнего пробела или начала строки, если между курсором и началом строки не осталось пробелов.
В обычной оболочке bash нажатие shift-3, как и ожидалось, приводит к появлению символа «£».
Есть идеи, как я могу ввести буквальный символ «£» в интерактивной оболочке Python?
Должна быть ваша настройка, я могу использовать £ (также европейскую клавиатуру) в IDLE или в командной строке python. (Python 2.5).
edit: Я использую окна, так что может быть проблема с тем, как python работает под Mac OS?
В юникоде это 00A003. С экранированием Unicode это будет u '\ u00a003'.
Редактировать: @ Патрик МакЭлхейни сказал, что вам может понадобиться 00A3.
Я бы предположил, что эмулятор терминала использует нажатие клавиши в качестве управляющего кода. Может быть, посмотрите, есть ли у него файл конфигурации, с которым вы можете повозиться?
Не лучшее решение, но вы можете ввести:
pound = u'\u00A3'
Затем у вас есть переменная, которую вы можете использовать в оставшейся части сеанса.
u'\N{pound sign}'
Если вы используете ipython, поставьте
execute pound = u'\N{pound sign}'
в вашем файле ipythonrc (в «Разделе: код Python для выполнения») таким образом у вас всегда будет «фунт», определенный как символ фунта в интерактивной оболочке.
Есть ли у вас привязки клавиш? может также захотеть проверить ваши .bashrc, .bash_profile и т. д.