질문
나는 자주 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/
기능에 대한 간략한 개요를 얻으려면 프레젠테이션 페이지의 비디오를 확인하세요.
댓글