##// END OF EJS Templates
Merge pull request #2092 from bfroehle/prun_print_stats...
Merge pull request #2092 from bfroehle/prun_print_stats %prun: Restore `stats.stream` after running `print_stream` When profiling, the output from `print_stream` is captured so that the output can be paged. To do so, the `stream` attribute is set to a `StringIO` object but was not restored after the output was captured. As a result, the stats object returned by `%prun -r` did not display any output when calling its `print_stream` method. In addition, the `pstats.Stats` class has the `stream` attribute for all currently supported Python versions (2.6, 2.7, and 3.2, at least), so the extra branch of code can be removed. Closes #2091

File last commit:

r4872:34c10438
r7959:965fc650 merge
Show More
ipy_workdir.py
41 lines | 1.0 KiB | text/x-python | PythonLexer
from IPython.core import ipapi
ip = ipapi.get()
import os, subprocess
workdir = None
def workdir_f(ip,line):
""" Exceute commands residing in cwd elsewhere
Example::
workdir /myfiles
cd bin
workdir myscript.py
executes myscript.py (stored in bin, but not in path) in /myfiles
"""
global workdir
dummy,cmd = line.split(None,1)
if os.path.isdir(cmd):
workdir = os.path.abspath(cmd)
print "Set workdir",workdir
elif workdir is None:
print "Please set workdir first by doing e.g. 'workdir q:/'"
else:
sp = cmd.split(None,1)
if len(sp) == 1:
head, tail = cmd, ''
else:
head, tail = sp
if os.path.isfile(head):
cmd = os.path.abspath(head) + ' ' + tail
print "Execute command '" + cmd+ "' in",workdir
olddir = os.getcwdu()
os.chdir(workdir)
try:
os.system(cmd)
finally:
os.chdir(olddir)
ip.define_alias("workdir",workdir_f)