如何写IPython的命令在python文本文件输出?(How to write the outpu

2019-08-02 06:14发布

我想下面的IPython的命令的输出捕获到一个文件:命令和输出领域如下:

`decoder.get_hyp()`

WARNING: "ngram_search.c", line 1000: </s> not found in last frame, using ++NOISE++ instead
INFO: ngram_search.c(1046): lattice start node <s>.0 end node ++NOISE++.171
INFO: ps_lattice.c(1225): Normalizer P(O) = alpha(++NOISE++:171:185) = -2003082
INFO: ps_lattice.c(1263): Joint P(O,S) = -2036704 P(S|O) = -33622
Out[7]: ('WELCOME TO MY TALK', '000000000', -36704586)

我想捕捉只有部分“惠康到我的谈话”到我的文件。

Answer 1:

使用IPython的神奇功能store

%store foo >> a.txt # Append value of foo to file a.txt


Answer 2:

只要做到如下:

%save file_name.py _oh[7]

PS:一些额外的有用的命令:

%save file_name.py _

“_”是指以前的输出。

或者,您可以:

%save file_name.py _oh[i]

“我”是指输出历史号码,你可以先看看输出通过:

_oh


Answer 3:

IPython的捕获在可变下划线(_)的最后一个指令的值(输出)。

%edit some_variable

将在编辑器中打开一个变量的值。

所以,“%_编辑”,应使您能够编辑和保存的最后一个命令的值。

见IPython的文档的历史章节

并了解可能的参数到%编辑神奇的功能,请在IPython中提示如下:

%edit?


Answer 4:

%%capture细胞的魔法节省运行命令的标准输出/ stderr输出,如果这就是你所需要的。 下面是使用语法:

%%capture [--no-stderr] [--no-stdout] [--no-display] [output]

而且,这里有一个使用示例:

In [1]: %%capture my_print_output
    ...: print('test')
    ...:

In [2]: my_print_output
Out[2]: <IPython.utils.capture.CapturedIO at 0x7f2efa2c12d0>

In [3]: test_output.show()
test

输出对象是的一个实例IPython.utils.capture.CapturedIO ,其具有用于访问标准输出/ stderr的或组合的输出一个整洁的接口。



文章来源: How to write the output of ipython command in python text file?
标签: ipython