2017-09-25 20 views
0

私は別のデータセットで実行するノートブックスクリプトを持っています。私はそれを実行するたびに、出力フォルダを含むスクリプトをデータフォルダに保存したいと思います。jupyter 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は実際のセルをエクスポートしません。最初の実行時に出力セルがない入力セルだけが出力されますが、再実行すると入力と出力の両方がエクスポートされます。ただし、スクリプト内の何かを変更すると、常に最初のバージョンがエクスポートされます。それから、私が見つけた唯一の方法は、カーネルを再起動し、新しいスクリプトを修正して(2回)再実行することです。

基本的には、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

ご協力ありがとうございます。あなたの推測は正しい。最初の投稿を編集してもう少し詳しく説明しました。あなたが言及したタスクの流れを理解していますが、私は/ save/close/nbconvertを手動で実行しない方法を探しています。私は答えを書いた。 – Yann

関連する問題