2017-09-25 22 views
0

다른 데이터 세트에서 실행되는 노트북 스크립트가 있습니다. 출력 셀을 포함하여 스크립트를 실행할 때마다 데이터 폴더에 저장하고 싶습니다.jconyter nbconvert가 실제 출력을 저장하지 않습니다.

나는 다음 스크립트를 jupyter에서 실행하는 끝에 배치했습니다. 나는 화면에서 볼 수있는 것을 HTML 파일로 저장하려고합니다.

"here is my notebook script with inputs and ouput including graphs" 

cmd='jupyter nbconvert --to html odnp_postprocessing.ipynb --output-dir '+dataFolder 
os.system(cmd) 

그러나 nbconvert는 실제 셀을 내보내지 않습니다. 처음 실행하면 출력 셀이없는 입력 셀만 출력하지만, 다시 실행하면 입력과 출력을 모두 내 보냅니다. 그러나 스크립트에서 무언가를 변경하면 항상 첫 번째 버전을 내 보냅니다. 그런데 내가 발견 한 유일한 방법은 커널을 재시작하고 새로운 스크립트를 수정하여 다시 실행하는 것입니다.

기본적으로 nbconvert는 사용자가 보는 실제 입력 및 출력 셀을 필요로하지 않는 일종의 버퍼를 내 보냅니다.

필자가 수행 할 때마다 노트북 (입력 및 출력)을 프로그래밍 방식으로 HTML에 저장하고 싶습니다.

노트북의 현재 버전을 저장하는 명령이 있습니까? nbconvert 명령 전에 % 노트북을 추가하려고 시도했지만 이전 입력 전체도 저장됩니다.

나는 nbconvert에서 노트북을 실행할 수 있지만, 나는 이미 수동으로 그것을 수동으로 실행하므로 그것을 피하고 싶습니다.

아이디어가 있으십니까?

Chrome 브라우저에서 jupyter through enthought canopy를 사용하고 있습니다.

감사

답변

0

당신은 당신이 nbconvert를 실행하는 방법을 정확하게 우리에게 이야기하지 않는; 현재 노트북에서? 따라서 사태를 파악하기가 어렵습니다.

Nbconvert는 현재 파일을 그대로 디스크로 변환합니다. 야생 추측으로 : 파일을 저장하지 않았습니다. 파일을 저장하지 않으면 nbconvert는 셀 출력에 액세스하지 못할 가능성이 높습니다. 당신이 그것을 두 번째 시간 자동 저장을 실행할 때와 추측이 다시 걷어 한

기억하십시오. - Nbconvert 파일 을 실행하지 않습니다 - Nbconvert이 마술 브라우저에서 무엇에 액세스 할 수있는 별도의 프로세스 인 잠재적으로 다른 기계입니다.

는 보통 그것을 이런 식으로 생각 :

  • 노트북 실행을;
  • 저장 노트북
  • 노트북을
  • 실행 nbconvert를 닫습니다.
  • 노트북을 다시 엽니 다. 서버 측 - -

당신은 당신이 찾고있는 다음 무엇을, 다른 형식으로 저장하는 노트북의 끝에서이 명령을 사용하는 경우 몇 가지 코드를 게재 할 save hooks 때마다 당신은 노트북을 저장합니다.

사이드 노트, 방법에 대해 알아보기 run shell command in IPython; !은 CWD에서 쉘 명령을 실행하는 데 사용할 수 있으며 변수 보간을 수행합니다.

+0

도움 주셔서 감사합니다. 귀하의 추측은 정확합니다. 좀 더 자세한 내용을 제공하기 위해 초기 게시물을 편집했습니다. 내가 언급 한 작업의 흐름을 이해하지만 수동으로 실행/저장/종료/nbconvert를 수행하지 않는 방법을 찾고 있습니다. 나는 답을 썼다. – Yann