def execute_command(cmd, exit_on_error=True, info=False, error_msg="",
- verbose=True):
+ verbose=True, output_file=None):
if not error_msg:
error_msg = ("The command '%s' failed." % cmd)
msg_exec = ("Executing command: '%s'" % cmd)
logger.debug(msg_exec)
p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE,
stderr=subprocess.STDOUT)
+ if output_file:
+ f = open(output_file, "w")
for line in iter(p.stdout.readline, b''):
- line = line.replace('\n', '')
- print line
- sys.stdout.flush()
+ if output_file:
+ f.write(line)
+ else:
+ line = line.replace('\n', '')
+ print line
+ sys.stdout.flush()
+ if output_file:
+ f.close()
p.stdout.close()
returncode = p.wait()
if returncode != 0: