2013-06-12 8 views
1

iPython에서 명령 셸 명령 (느낌표 연산자)을 사용할 때 긴 문자열 리터럴의 줄 연속을 수행 할 수있는 방법이 있습니까?iPython 줄의 명령 셸 문자열 리터럴

예.

t = !echo "Hello"\ 
"World" 
t 

은 예상되는 [ 'HelloWorld'] 대신 t의 값으로 [ 'Hello']를 생성합니다.

답변

0

"셀 마법"(기본적으로는 !과 같은 다른 마법의 멀티 라인 버전)을 사용할 수 있습니다. 명령 프롬프트에 %%bash을 입력하면 ...이라는 새 줄이 표시됩니다. 즉, 명령을 입력해야합니다. 다시 Enter 키를 누르면 두 번 연속으로 Enter 키를 누르기 전까지 다른 ...이 나오고 명령이 실행됩니다. 예를 들어, 다음을 입력 할 수 있습니다.

%%bash --out t 
echo "Hello "\ 
"World" 

(끝 부분에 두 번 누르십시오) 그것은 예상대로 작동합니다. 특히, 표준 출력을 변수 t에 저장하는 --out t에 주목하십시오. 지금 평가하면 'Hello World\n'이됩니다. this page에 잘 설명 된대로 표준 오류 출력을 --err으로 가져올 수도 있습니다.

ipython 노트북에서는 모든 것을 하나의 셀에 넣고 함께 평가합니다. (노트북을 시험해 보지 않으 셨다면, 이 좋습니다).