2016-10-13 2 views
0

Я пытаюсь перенаправить вывод моего сценария в файл. Я не хочу, чтобы сделать что-то вродеперенаправить вывод скрипта ipython в csv или текстовый файл, такой как sqlplus spool

python myscript.py > xy.out 

как много переменной хранится в моей IPython среде, и мне нравится носить его.

Я стараюсь следовать этой ссылке

IPython: redirecting output of a Python script to a file (like bash >)

Однако, когда я пытаюсь сделать

with redirect_output("my_output.txt"): 
    %run my_script.py 

Это дает ошибку

---> 10   self.sys_stdout = sys.stdout 
NameError: global name 'sys' is not defined 

Существует аналогичное решение скопируйте вывод оболочки ipython в файл, но он говорит, что моя ячейка ее не определен

https://www.quora.com/How-do-I-export-the-output-of-the-IPython-command-to-a-text-file-or-a-CSV-file

Есть ли более простой способ или построить в особенности с IPython, что делает это ?? , например.

В oracle sqlplus имеется команда катушки , например.

spool /tmp/abc 
select * from table_x; 
spool off 

теперь SQL оператор вывод в/TMP/а

ли такой эквивалент IPython ??

ответ

0

Приветствие. В конечном итоге я использую это решение:

%%capture var2 
%run -I script2 

import sys 
orig_stdout = sys.stdout 
f = file('out5.txt', 'w') 
sys.stdout = f 
print var2 
stdout = orig_stdout 
f.close() 

Это не очень удобно, но оно работает!