IPython의 매직 % paste는 어떻게 작동합니까?
이미 들여 쓰기 된 Python 코드 / 전체 함수 및 클래스를 IPython에 복사하고 싶습니다. 들여 쓰기를 시도 할 때마다 다음과 같은 오류 메시지가 나타납니다.
IndentationError: unindent does not match any outer indentation level (<ipython-input-23-354f8c8be51b>, line 12)
If you want to paste code into IPython, try the %paste and %cpaste magic functions.
IPython에 직접 복사 할 수 없습니다. 단계는 다음과 같습니다.
- IPython에 복사하려는 줄을 클립 보드에 복사합니다.
%paste
IPython에 들어가십시오- 엔터 키를 치시오
- 이익!
단계에 대한 설명 :
먼저 대상 라인을 클립 보드에 복사합니다.
iPython 프롬프트에 다음을 입력합니다.
- Tkinter의 경우 : 다음을 입력하십시오.
%paste
- 그렇지 않으면 : 입력
%cpaste
- Tkinter의 경우 : 다음을 입력하십시오.
붙여 넣기 (Ctrl-V)하고 Enter 키를 누릅니다.
그런 다음 입력
--
하고 Enter 키를 누르십시오.
예를 들면 :
In [1]: %cpaste
Pasting code; enter '--' alone on the line to stop or use Ctrl-D.
:for l in "Hello World":
: print l,
:--
H e l l o W o r l d
현재 Ipython 5 당신이 어떤 마법의 명령을하지 않아도, 그냥 붙여 넣기
덕분에
prompt_toolkit
,IPython
지금 지원
- 입력 할 때 구문 강조
- 실제 여러 줄 편집 (위쪽 및 아래쪽 화살표 키가 줄 사이에서 이동)
- 들여 쓰기를 중단하거나 코드를 즉시 실행하지 않고 여러 줄 붙여 넣기
- 더 나은 코드 완성 인터페이스 (더 개선 할 계획) 선택적 마우스 지원
여기에서 더 자세히
ipython
최신 버전으로 업그레이드하려면
pip install ipython --upgrade
%paste
필요합니다 Tkinter
. 우분투에있는 경우 다음을 통해 설치할 수 있습니다.
sudo apt-get install python-tk
Python3을 사용하는 경우
sudo apt-get install python3-tk
그런 다음 ipython을 다시 시작하고 사용 %paste
하여 클립 보드에서 붙여 넣습니다.
Python 3을 사용하는 우분투 사용자의 경우.
는 python-tk
파이썬 2입니다.
%paste
Python 3에서 작업 하려면 python3-tk
패키지를 설치하십시오 .
sudo apt-get install python3-tk
유용한 답변 중 하나가 주석에서 손실되었으므로 다른 유용한 IPython 매직 기능에 대한 참조를 추가하면서 다시 설명하고 싶었습니다.
먼저 @EOL이 말한 것을 다시 말하면 OP의 문제를 해결하는 한 가지 방법은 먼저 실행 %autoindent
하고 붙여 넣기를 수행하여 자동 들여 쓰기를 끄는 것 %paste
입니다 (물론을 사용하는 경우에는 필요 없음 ).
이제 여기에 이미있는 것에 더 많은 정보를 추가하기 위해 IPython의 또 다른 유용한 모드는 %doctest_mode
문서 문자열에서 예제 붙여 넣기 및 테스트 스 니펫을 복사 할 수 있도록하는 것입니다. 이것은 또한 프롬프트 문자열을 먼저 제거하지 않고도 문서 및 온라인 포럼에서 찾을 수있는 대화 형 파이썬 세션 출력을 실행하는 데 유용합니다.
참고 URL : https://stackoverflow.com/questions/10886946/how-does-ipythons-magic-paste-work
'developer tip' 카테고리의 다른 글
Java / JPA에서 저장 프로 시저 호출 (0) | 2020.09.08 |
---|---|
jQuery에서 드롭 다운 값 가져 오기 (0) | 2020.09.07 |
matplotlib에서 서브 플롯 사이의 간격을 제거하는 방법은 무엇입니까? (0) | 2020.09.07 |
Objective-C 프레임 워크를 Swift 프로젝트로 가져올 때 Bridging Header에서 "파일을 찾을 수 없음"발생 (0) | 2020.09.07 |
Android에서 열거 형 사용을 엄격히 피해야합니까? (0) | 2020.09.07 |