将ASCII变量的输出和/或保存内容重定向到IPython中的磁盘
我希望在IPython会议期间能够做到以下几点:将ASCII变量的输出和/或保存内容重定向到IPython中的磁盘,python,ipython,Python,Ipython,我希望在IPython会议期间能够做到以下几点: 轻松地将变量的内容保存到ASCII文件中的磁盘 对于给定的命令,可以轻松地将stdout重新定向到磁盘 简单地说,我的意思是,例如使用magic(即,我希望避免在IPython中键入多行语句、打开文件描述符等) in建议使用 %edit some_variable 在编辑器中打开一个变量的值(基于$editor的值),以后可以从中将内容保存到磁盘。这听起来不错,但当我在常规Python变量上尝试时 > my_variable = 'Hel
magic
(即,我希望避免在IPython中键入多行语句、打开文件描述符等)
in建议使用
%edit some_variable
在编辑器中打开一个变量的值(基于$editor
的值),以后可以从中将内容保存到磁盘。这听起来不错,但当我在常规Python变量上尝试时
> my_variable = 'Hello world'
> %edit a
我得到TypeError:“NoneType”对象不可iterable
(顺便说一句,我知道我的$EDITOR
env.variable工作得很好,因为我使用的其他程序都依赖它。在我的情况下,$EDITOR
无论哪种方式都是emacsclient
)
我也尝试过:
%save 'test.txt' print(my_variable)
希望它能将语句print(my_变量)
的输出重新定向到test.txt
,但我得到了以下错误:
'print(a)' was not found in history, as a file, url, nor in the user namespace.
关于如何实现这一点有什么想法吗?IPython dev有一个
%%writefile
魔法,可以将单元格的原始内容转储到磁盘上。
会有帮助吗?否则您将不得不编写自己的魔术(不太难)您可以通过
%store foo>foo.txt
将变量保存到文件中,并通过%capture
魔术捕获stdout/stderr,这可能会有所帮助