IPython 대화 형 셸을 감싸는 사용자 지정 셸을 만들고 싶습니다. 그것은 IPython 셸이 가지고있는 대부분의 것들을 가지고 있어야하며, 그 위에 IPython 셸로 들어가기 전에 "dance"나 "knock knock"과 같은 커스텀 커맨드를 전처리하고 싶습니다. ...IPython 셸의 래퍼 작성 방법은 무엇입니까?
바로 여기에 내가하려고하는 일을 나는 주위를보고 그것을 할 수있는 몇 가지 방법을 시도
>>> print("IPython will handle this")
"IPython will handle this"
>>> dance
"I will handle this myself"
,하지만 난 정말 확실하지 않다 : 같은
는 시각적으로해야 같습니다 :
- 하위 클래스 IPython.kernel 또는 이와 비슷한 것. 내가 필요로하는 것이 더 복잡해 보이고 아무런 성공없이 시도했다. (실제로 무엇을하는지 이해할 수 없다.)
IPython.get_ipython()
을 사용하여 대화 형 IPython 쉘의 인스턴스를 가져 와서 핑퐁으로 가져온다. . 이 문서에서는 도움이되는 문서를 찾을 수 없습니다. 내가 발견 한run_cell()
함수는 유용 할 수 있지만run_cell("for i in range(10):")
과 같은 일을 할 수없고 들여 쓰기 된 다음 줄을 기다립니다. 그것은 단순히 던졌습니다.Popen
을 사용하면 IPython 세션을 열고 핑퐁을 실행할 수 있습니다. 나는 파이프로 작업하는 것에 대한 튜토리얼을 거의 따라 가지 못했지만 파이프가 깨지거나 유선이 생겼다. 내가 깊이 들여다보기 전에 내 OS 클래스를 반드시 리뷰 할 필요가있다.
나는 올바른 방법이 무엇인지 잘 모르겠습니다. SageMath는 비슷한 일을하지만 실제로 소스 코드를 잘 이해할 수는 없다는 것을 기억합니다.
모든 의견은 도움이 될 것입니다. 미리 감사드립니다 :)