Re: [O] Suppressing interpeter output in code blocks
Michael Steeves stee...@raingods.net writes: Apologies if this is documented somehere, but I haven't been having much luck in trying to find the answer to this. If I have an org doc with some python code in it #+begin_src python :session testing :results output a = 1 b = 2 c = a + b print Hello, world. #+end_src when I evaluate the block, the output is #+RESULTS: : Python 2.7.5 (default, May 19 2013, 13:26:46) : [GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin : Type help, copyright, credits or license for more information. : Hello, world. Is there any way to suppress all the extra text, and just get the Hello, world. string as my output? #+begin_src python :session testing a = 1 b = 2 c = a + b Hello, world. #+end_src #+RESULTS: : Hello, world. Best, -- Eric Schulte http://cs.unm.edu/~eschulte
Re: [O] Suppressing interpeter output in code blocks
On 6/6/13 12:04 PM, Eric Schulte wrote: Michael Steeves stee...@raingods.net writes: Is there any way to suppress all the extra text, and just get the Hello, world. string as my output? #+begin_src python :session testing a = 1 b = 2 c = a + b Hello, world. #+end_src #+RESULTS: : Hello, world. Thanks for the reply. Unfortunately I need to set :results to output, since I'm working with a doc where I'm working through a python script, and want to run a section, get some output and write some additional text, then move on to the next block (and all within a session, since block 2 depends on things from block 1, and so on. I put together a more descriptive example, but interestingly enough I'm now getting some inconsistent output when I evaluate the source blocks. #+BEGIN_SRC python :session testing :results output print Hello, World. print This is a test. #+END_SRC #+RESULTS: : Hello, World. : This is a test. #+BEGIN_SRC python :session testing :results output a = 1; b = 2 print A is +str(a) print B is +str(b) #+END_SRC #+RESULTS: : : A is 1 : B is 2 #+BEGIN_SRC python :session testing :results output c = a + b print C is +str(c) print Now we're done. #+END_SRC #+RESULTS: : : C is 3 : Now we're done. #+BEGIN_SRC python :session testing :results output y = 3 z = 4 print Y is +str(y) print Z is +str(z) #+END_SRC #+RESULTS: : : Y is 3 : Z is 4 I don't understand why the last chunk provides different output than the second -- the only real difference is that I put the assignments on one line (seperated with a semicolon) in the second, and on individual lines in the last. -Mike -- Michael Steeves (stee...@raingods.net)
Re: [O] Suppressing interpeter output in code blocks
Michael Steeves stee...@raingods.net writes: On 6/6/13 12:04 PM, Eric Schulte wrote: Michael Steeves stee...@raingods.net writes: Is there any way to suppress all the extra text, and just get the Hello, world. string as my output? #+begin_src python :session testing a = 1 b = 2 c = a + b Hello, world. #+end_src #+RESULTS: : Hello, world. Thanks for the reply. Unfortunately I need to set :results to output, since I'm working with a doc where I'm working through a python script, and want to run a section, get some output and write some additional text, then move on to the next block (and all within a session, since block 2 depends on things from block 1, and so on. I put together a more descriptive example, but interestingly enough I'm now getting some inconsistent output when I evaluate the source blocks. #+BEGIN_SRC python :session testing :results output print Hello, World. print This is a test. #+END_SRC #+RESULTS: : Hello, World. : This is a test. #+BEGIN_SRC python :session testing :results output a = 1; b = 2 print A is +str(a) print B is +str(b) #+END_SRC #+RESULTS: : : A is 1 : B is 2 #+BEGIN_SRC python :session testing :results output c = a + b print C is +str(c) print Now we're done. #+END_SRC #+RESULTS: : : C is 3 : Now we're done. #+BEGIN_SRC python :session testing :results output y = 3 z = 4 print Y is +str(y) print Z is +str(z) #+END_SRC #+RESULTS: : : Y is 3 : Z is 4 I don't understand why the last chunk provides different output than the second -- the only real difference is that I put the assignments on one line (seperated with a semicolon) in the second, and on individual lines in the last. The cleaning of prompts is a best effort based on things like the prompt regexp variable in the python session comint buffer. As it interacts with an external process it can be somewhat noisy, seemingly especially so with python sessions. The attached version of your example file uses a simple post processor to automatically clean up anything that looks like python session cruft after each code block execution. #+Property: post py-session-clean(*this*) #+BEGIN_SRC python :session testing :results output print Hello, World. print This is a test. #+END_SRC #+RESULTS: : Hello, World. : This is a test. #+BEGIN_SRC python :session testing :results output a = 1; b = 2; print A is +str(a) print B is +str(b) #+END_SRC #+RESULTS: : A is 1 : B is 2 #+BEGIN_SRC python :session testing :results output c = a + b print C is +str(c) print Now we're done. #+END_SRC #+RESULTS: : C is 3 : Now we're done. #+BEGIN_SRC python :session testing :results output y = 3 z = 4 print Y is +str(y) print Z is +str(z) #+END_SRC #+RESULTS: : Y is 3 : Z is 4 * COMMENT Helper Function #+name: py-session-clean #+begin_src sh :var data= :results output :post '() echo $data|sed '/^$/d;s/^\+ //g' #+end_src Hope this helps, -Mike -- Eric Schulte http://cs.unm.edu/~eschulte
[O] Suppressing interpeter output in code blocks
Apologies if this is documented somehere, but I haven't been having much luck in trying to find the answer to this. If I have an org doc with some python code in it #+begin_src python :session testing :results output a = 1 b = 2 c = a + b print Hello, world. #+end_src when I evaluate the block, the output is #+RESULTS: : Python 2.7.5 (default, May 19 2013, 13:26:46) : [GCC 4.2.1 Compatible Apple Clang 4.1 ((tags/Apple/clang-421.11.66))] on darwin : Type help, copyright, credits or license for more information. : Hello, world. Is there any way to suppress all the extra text, and just get the Hello, world. string as my output? -Mike -- Michael Steeves (stee...@raingods.net)