在没有 IDE 的情况下保存 IPython 控制台输出
Save IPython console output without IDE
我目前使用 Spyder 生成一些图表,这些图表显示在 Spyder 的 IPython 控制台中。这允许我通过右键单击 IPython 控制台并选择 'Save as HTML/XML'.
将输出保存为 HTML 文件
假设我有以下代码:
import matplotlib.pylab as plt
print "Some text."
plt.plot([1,6,3,9,5])
plt.title('Some values')
现在我想通过 SSH 远程 运行 这个脚本。如何在不打开 Spyder 的情况下生成一个等价的 html 文件,其输出通常会在 IPython 控制台中生成?可以使用ssh的-X参数。我正在寻找一个不特定于上述代码但适用于任何类型的 plot/output.
的答案
据我了解,您想将交互式 iPython 控制台的输出保存到 html。
我找不到右键单击并保存到 HTML 的直接方法(我确定是否可以使用 UI 命令也可以不使用,我没有仔细看).
然而,解决方法可能是先将其保存到 *.ipynb,然后从 shell 将其转换为 *.html
假设您有一个名为 test.py 的文件,您想要 运行 您只需向其中添加以下代码:
import IPython.nbformat.current as nbf
nb = nbf.read(open('test.py', 'r'), 'py')
nbf.write(nb, open('test.ipynb', 'w'), 'ipynb')
来自 this answer
那么您只需使用 shell 即可:
ipython nbconvert --to html test.ipynb
如果您想保存正在 运行 的会话而不是保存的文件,您应该首先使用 %save 'test.py'
魔术命令,然后执行前面的步骤。
我目前使用 Spyder 生成一些图表,这些图表显示在 Spyder 的 IPython 控制台中。这允许我通过右键单击 IPython 控制台并选择 'Save as HTML/XML'.
将输出保存为 HTML 文件假设我有以下代码:
import matplotlib.pylab as plt
print "Some text."
plt.plot([1,6,3,9,5])
plt.title('Some values')
现在我想通过 SSH 远程 运行 这个脚本。如何在不打开 Spyder 的情况下生成一个等价的 html 文件,其输出通常会在 IPython 控制台中生成?可以使用ssh的-X参数。我正在寻找一个不特定于上述代码但适用于任何类型的 plot/output.
的答案据我了解,您想将交互式 iPython 控制台的输出保存到 html。 我找不到右键单击并保存到 HTML 的直接方法(我确定是否可以使用 UI 命令也可以不使用,我没有仔细看).
然而,解决方法可能是先将其保存到 *.ipynb,然后从 shell 将其转换为 *.html
假设您有一个名为 test.py 的文件,您想要 运行 您只需向其中添加以下代码:
import IPython.nbformat.current as nbf
nb = nbf.read(open('test.py', 'r'), 'py')
nbf.write(nb, open('test.ipynb', 'w'), 'ipynb')
来自 this answer
那么您只需使用 shell 即可:
ipython nbconvert --to html test.ipynb
如果您想保存正在 运行 的会话而不是保存的文件,您应该首先使用 %save 'test.py'
魔术命令,然后执行前面的步骤。