본문 바로가기
Python/Python FAQ

Python 파이썬 대화형 세션을 어떻게 저장할 수 있나요?, How to save a Python interactive session?

by 베타코드 2023. 11. 11.
반응형

질문


나는 자주 Python의 인터프리터를 사용하여 데이터베이스, 파일 등과 작업합니다. 기본적으로 반구조적 데이터의 많은 수동 형식을 처리합니다. 유용한 부분을 제대로 저장하고 정리하는 일은 제가 원하는만큼 자주하지 않습니다. 대화형 세션의 이력을 저장할 수 있는 방법이 있을까요 (데이터베이스 연결, 변수 할당, 작은 for 루프 및 논리의 일부)? script와 같은 것을 사용하면 너무 많은 stdout 노이즈가 발생합니다. 모든 객체를 pickle하는 것은 정말 필요하지 않습니다. 하지만 그렇게 하는 해결책이 있다면 괜찮습니다. 이상적으로는 대화형으로 작성한 것과 동일하게 실행되는 스크립트만 남기고 필요없는 부분을 삭제할 수 있습니다. 이 작업을 수행하는 패키지나 자체 개발 방법이 있을까요?


답변


IPython은 대화형 세션을 사용하는 것이 좋을 경우 매우 유용합니다. 예를 들어 사용 사례에는 %save 매직 명령어가 있습니다. 이를 사용하면 %save my_useful_session 10-20 23을 입력하여 10에서 20번째 줄과 23번째 줄을 my_useful_session.py에 저장할 수 있습니다 (이를 돕기 위해 각 줄은 해당하는 번호로 접두어가 붙습니다).

또한 문서에는 다음과 같이 명시되어 있습니다:

이 함수는 %history와 동일한 구문을 사용하여 입력 범위를 지정한 다음, 지정한 파일 이름에 해당 줄을 저장합니다.

이를 통해 이전 세션과 같은 이전 세션을 참조할 수 있습니다.

%save current_session ~0/
%save previous_session ~1/

기능에 대한 간략한 개요를 얻으려면 프레젠테이션 페이지의 비디오를 확인하세요.

반응형

댓글