我希望能够在 IPython 会话期间执行以下操作:
- 以 ASCII 文件的形式轻松将变量的内容保存到磁盘
- 对于给定的命令,轻松地将标准输出重定向到磁盘
很容易我的意思是例如使用 a magic
(即我想避免在 IPython 中键入多行语句、打开文件描述符等)。
%edit some_variable
在编辑器中打开变量的值(基于 的值$EDITOR
),以后我可以从中将内容保存到磁盘。这听起来不错,但是当我在常规 Python 变量上尝试时
> my_variable = 'Hello world'
> %edit a
我明白TypeError: 'NoneType'object is not iterable
了(顺便说一句,我知道我的$EDITOR
env. 变量运行良好,因为我使用的其他程序都依赖它。无论哪种方式$EDITOR
都是 emacsclient
我的情况)
我也尝试过:
%save 'test.txt' print(my_variable)
希望它将语句的输出重定向print(my_variable)
到test.txt
,但我收到以下错误:
'print(a)' was not found in history, as a file, url, nor in the user namespace.
关于如何做到这一点的任何想法?