3

如果我使用这个块

#+BEGIN_SRC python :results file
from pylab import *
plot(rand(10))
savefig('images/test.png')
return 'images/test.png'
#+END_SRC 

然后 RESULTS 块向我显示了情节的内联版本。

如果现在我切换到这个块

#+BEGIN_SRC python :session test :results file
from pylab import *
plot(rand(10))
savefig('images/test.png')
return 'images/test.png'
#+END_SRC 

然后 RESULTS 块不显示内联图,但这

| <matplotlib.lines.Line2D | object | at | 0x35c0650> |

使用会话对我来说是一种强制性的,因为我需要几个块来共享变量。

我的方法有什么明显的问题吗?

4

1 回答 1

2

根据org-mode 文档return,如果代码在会话中运行,则必须删除。

#+BEGIN_SRC python :session test :results file
  from pylab import *
  plot(rand(10))
  savefig('images/test.png')
  'images/test.png'
#+END_SRC 

#+RESULTS:
[[file:images/test.png]]

因为“返回的结果是解释器执行的最后一次评估的结果。”

于 2013-05-06T11:14:21.653 回答