[ipython] ipython : 전체 기록 인쇄 (현재 세션뿐만 아니라)

에서 최근 기록을 ipython사용 %hist하거나 %history인쇄 할 수 있지만 현재 세션의 기록 만 인쇄합니다.

bash history명령 과 비슷한 모든 기록을 인쇄하고 싶습니다 .

내가하려는 것은 완전한 기록을 얻는 것이므로 정규 표현식으로 검색하고 지정된 명령 뒤에 어떤 명령이 오는지 확인할 수 있습니다.

역사에 대해 말하면 타임 코드도 인쇄 할 수 있습니까?

참고 : bash에서 나는 역사를 인쇄하는 간단한 스크립트를 작성했으며 키워드를 위해 grep 할 수 있습니다. 특정 명령이 실행 된 시간이 보입니다. 나는 지정할 수 있습니다 -A n또는 -B n경우, n라인 번호 AFTER또는 BEFORE주어진 명령. 내가 한 일과 그 이후의 일을 쉽게 찾을 수 있기 때문에 이것은 매우 편리합니다 …

비슷한 것을 찾고 있습니다 ipython



답변

에서 ipython입력 :

%history -g

타임 코드는 인쇄하지 않지만 세션 / 라인 번호는 인쇄합니다.


답변

먼저 사용 %hist -o -g -f ipython_history.md내역 (입력 및 출력)을 텍스트 파일로 출력합니다. ( http://ipython.readthedocs.io/en/stable/interactive/magics.html#magic-history )

그런 다음이 get_session_info기능을 사용하여 관심있는 세션의 날짜와 시간을 검색 할 수 있습니다 ( http://ipython.readthedocs.io/en/stable/api/generated/IPython.core.history.html?highlight= hist # IPython.core.history.HistoryAccessor.get_session_info )

profile_hist=IPython.core.history.HistoryAccessor(profile='default')
profile_hist.get_session_info(100)

이것은 다음과 같은 것을 인쇄합니다

(100, datetime.datetime(2018, 2, 13, 19, 8, 30, 40691), None, None, '')

이는 세션 100이 2018 년 2 월 13 일 19:08:30에 시작되었음을 의미합니다.


답변

@larssend가 찾은 Firefox 확장 기능은 다음과 같습니다 . SQLite Manager

데이터베이스 파일을 열고 메뉴에서 다양한 sqlite 명령을 실행하기위한 GUI가 있습니다. 출력을 생성 한 SQL 명령을 보는 추가 보너스를 얻습니다. 여기 내 ipython에 대한 내 꺼야 %history에서는 ~/.ipython/profile_default/history.sqlite:

여기에 이미지 설명을 입력하십시오

그리고 데이터에서 도표 (산란, 선, 막대 등)를 생성하는 메뉴도 있습니다!


답변