On Tue, Aug 24, 2010 at 4:38 AM, Leon Derczynski <l...@dcs.shef.ac.uk>wrote:
> Hi, > > I would like to run an external program, and discard anything written > to stderr during its execution, capturing only stdout. My code > currently looks like: > > def blaheta_tag(filename): > blaheta_dir = '/home/leon/signal_annotation/parsers/blaheta/' > process = subprocess.Popen([blaheta_dir + 'exec/funcTag', > blaheta_dir + 'data/', filename], cwd=blaheta_dir, > stdout=subprocess.PIPE) > process.wait() > return process.communicate()[0] > > This returns stdout, and stderr ends up printing to the console. How > can I disregard anything sent to stderr such that it doesn't appear on > the console? > Just add `stderr=subprocess.PIPE` keyword in the Popen call. -- With best regards, Daniel Kluev
-- http://mail.python.org/mailman/listinfo/python-list