2011-08-05 12 views
9

Podczas używania Pythona za pomocą wiersza poleceń, jeśli widzę błąd w poprzednim wierszu zagnieżdżonej instrukcji, czy istnieje sposób usunięcia lub edycji tego wiersza po jego wprowadzeniu?Wiersz poleceń Pythona: błąd edycji w poprzednim wierszu?

np .:

>>> file = open("file1", "w") 
>>> for line in file: 
...  parts = line.split('|') <-- example, I meant to type '\' instead 
...  print parts[0:1] 
...  print ";" 
...  print parts[1:] 

więc zamiast przepisywania całą rzecz całego naprawić jeden char, mogę wrócić i zmienić coś w celowniku? Wiem, że mógłbym po prostu napisać to w vimie lub coś takiego i mieć trwałą kopię, z której mogę zrobić wszystko, co chcę, ale liczyłem na poręczną sztuczkę z linią poleceń.

- dziękuję!

+2

domyślnej linii komend jest trochę ograniczone. Powinieneś sprawdzić [IPython] (http://ipython.org/). Miałem lepsze doświadczenia z tym. –

+0

Oczywiście, gdybyś musiał, możesz przedefiniować 'części', ale wiem, że nie tego szukasz. – Draksis

Odpowiedz

7

Nie można zrobić czegoś takiego w oryginalnym interpreterze pythonów, jednak jeśli używasz ostatniej wersji IPython, zapewnia ona lightweight GUI (wygląda na prostą powłokę, ale jest to GUI), która ma wiele cech -line edycji, podświetlanie składni i wiele innych rzeczy. Aby użyć GUI IPython, uruchom go za pomocą polecenia ipython qtconsole.

1

Nie o tym wiem przez te wszystkie lata, w których koduję Pythona. To właśnie edytory tekstu są dla =)

Jeśli jesteś użytkownikiem Emacsa, możesz ustawić swoje środowisko tak, aby okno było podzielone na bufor kodu i bufor powłoki Python, a następnie wykonać cały bufor, aby zobaczyć zmiany .

1

Może. Python Tutorial mówi:

Być najszybszym sprawdzić, czy edycja linii poleceń jest obsługiwany jest wpisanie Control-P do pierwszego wiersza Pythona dostać. Jeśli wydaje dźwięk, masz edycję linii poleceń; patrz Appendix Interactive Input Edytowanie i zastępowanie historii w celu wprowadzenia do klawiszy. Jeśli nic się nie wydarzy, lub jeśli echo^P zostanie powtórzone, edycja linii poleceń nie jest dostępna; będziesz mógł używać Backspace tylko do usuwania znaków z bieżącego wiersza.

+1

To po prostu pozwala ci wyciągnąć poprzednią linię, w żaden sposób nie pozwala na zmianę pojedynczej linii z bloku, a następnie wykonanie tego bloku na raz, czyli tego, co chce OP. – Wilduck

0

Poza użytkownika @ MatToufoutu sugestii, można też spojrzeć na DreamPie, choć jest to tylko GUI dla powłoki bez innych rozszerzeń ipython użytkownika.

0

Teraz zamiast ipython używać

jupyter console 

w cmd szybkiego

Powiązane problemy