2008-10-03 26 views
5

Aktualizacja: Dzięki za sugestie facetów. Po dalszych badaniach przeformułowałem to pytanie: Python/editline on OS X: £ sign seems to be bound to ed-prev-wordJak wprowadzić znak funta szterlinga (£) do powłoki interaktywnej Pythona w systemie Mac OS X?

Na Mac OS X nie mogę wprowadzić znaku funta szterlinga (£) do interaktywnej powłoki Pythona.

  • Mac OS X 10.5.5
  • Python 2.5.1 (R251: 54863, Jan 17 2008, 19:35:17)
  • Europejskiej klawiatura (£ jest SHIFT-3)

Kiedy piszę "£" (tzn. Naciśnij shift-3) w pustej powłoce Pythona, nic się nie pojawia.

Jeśli już wpisałem kilka znaków, np.

>>> 1234567890 1234567890 1234567890 

... następnie naciskając klawisz shift-3 pozwoli pozycję kursora sam po ostatniej przestrzeni, lub na początku linii, jeśli nie ma miejsca w lewo pomiędzy kursorem a początkiem linii.

W normalnej powłoce bash naciśnięcie shift-3 powoduje "£" zgodnie z oczekiwaniami.

Każdy pomysł, w jaki sposób mogę wpisać literał "£" w powłoce interaktywnej Python?

+0

Czy masz jakieś powiązania klawiszy? może również sprawdzić twój .bashrc, .bash_profile, itp. – camflan

Odpowiedz

1

Wyobrażam sobie, że emulator terminala używa skrótu klawiszowego jako kodu kontrolnego. Może zobacz, czy ma plik konfiguracyjny, z którym możesz sobie poradzić?

0

Musi być twoja konfiguracja, mogę użyć klawisza £ (również europejska klawiatura) pod IDLE lub wiersza poleceń Pythona. (python 2.5).

edytuj: Używam okien, więc może to być problem z tym, jak python działa w systemie Mac OS?

2

W kodzie Unicode jest to 00A003. W przypadku ucieczki z Unicode będzie to "\ u00a003".

Edycja: @ Patrick McElhaney powiedział, że możesz potrzebować użyć 00A3.

+0

To nie zadziałało, ale 00A3 tak. –

5

Nie jest to najlepsze rozwiązanie, ale można wpisać:

pound = u'\u00A3' 

Następnie trzeba ją w zmiennej można wykorzystać w dalszej części sesji.

2

u'\N{pound sign}'

Jeśli używasz ipython umieścić

execute pound = u'\N{pound sign}'

w pliku ipythonrc (w "sekcji: kodu Pythona do wykonania"), w ten sposób zawsze będziesz mieć "funt" zdefiniowanego jako symbol funta w interaktywnej powłoce.