2016-07-19 3 views
0

私は現在、SpyderのIPythonコンソールに表示されているプロットを生成するためにSpyderを使用しています。これにより、IPythonコンソールを右クリックして[HTML/XMLとして保存]を選択することで、出力をHTMLファイルとして保存することができます。IDEなしでIPythonコンソールの出力を保存

は、私は次のコードを持って言う:

import matplotlib.pylab as plt 
print "Some text." 
plt.plot([1,6,3,9,5]) 
plt.title('Some values') 

今、私はSSH経由でリモートからこのスクリプトを実行します。 Spyderを開かずにIPythonコンソールで生成される出力と同等のhtmlファイルを生成するにはどうすればよいですか? sshの-Xパラメータを使用できます。私は上のコードに特定されていない答えを探していますが、任意の種類のプロット/出力に対応しています。

答えて

1

私が集めたことのために、インタラクティブなiPythonコンソールの出力をhtmlに保存したいとします。 右クリックしてHTMLに保存する直接の方法を見つけることができませんでした(UIコマンドを使用することができればそれは可能ですが、私は注意深く見ていません)。

この問題を回避するには、しかし、最初の* .htmlを

あなただけ追加するには、あなたを実行したいtest.pyと呼ばれるファイルを持っていると仮定し、それをcoverting *の.ipynbに保存して、シェルからできることthis answer

から

import IPython.nbformat.current as nbf 
nb = nbf.read(open('test.py', 'r'), 'py') 
nbf.write(nb, open('test.ipynb', 'w'), 'ipynb') 

その後、あなただけにシェルを使用することができます:それまでのコードを以下の

ipython nbconvert --to html test.ipynb 

保存しているファイルではなく実行中のセッションを保存する場合は、最初に%save 'test.py' magicコマンドを使用し、前の手順を実行する必要があります。

+0

ありがとうございます。 3行のコードをnbf.pyファイルに保存し、 'python nbf.py'のように実行しました。 test.ipynbというファイルを作成します。次に、あなたが提供したシェルコマンドでファイルを変換します。 .ipynbファイルと.htmlファイルには、上記のtest.pyスクリプトのソースコードが含まれています。私が望んだのは、このスクリプトの出力をhtmlファイルに保存することです。あなたの最後の提案を理解できません:%save 'test.py'。これはシェルコードの拡張ですか?あなたの努力のためにもう一度ありがとう。それを働かせることは非常にいいですね。 – Ohumeronen

+1

* .pyから実行した場合、実際には入力だけを出力に保存しません。対話型コンソールを実行していて、各行を手動で実行している場合はうまくいくはずです。 %saveは魔法のコマンドですが、私が思った%historyも有用かもしれません。あなたはここで魔法のコマンドについて読むことができます - http://ipython.readthedocs.io/en/stable/interactive/magics.html – nico

+0

実行中のコンソールの出力を保存するか、プロットだけで十分でしょうか? – nico

関連する問題