Skip to content

Instantly share code, notes, and snippets.

@chengui
Created September 26, 2013 10:27
Show Gist options
  • Save chengui/6712381 to your computer and use it in GitHub Desktop.
Save chengui/6712381 to your computer and use it in GitHub Desktop.
redirect std stream with decorator
import sys
def redirect_stderr_stdout(stderr=sys.stderr, stdout=sys.stdout):
def wrap(f):
def newf(*args, **kwargs):
old_stderr, old_stdout = sys.stderr, sys.stdout
sys.stderr = stderr
sys.stdout = stdout
try:
return f(*args, **kwargs)
finally:
sys.stderr, sys.stdout = old_stderr, old_stdout
return newf
return wrap
@redirect_stderr_stdout
def fun():
print "hello world"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment