¿Cómo redirigir el subproceso de python? ¿Los métodos de llamada se envían a un archivo y no a la consola?

Estoy utilizando el método Call de python en el módulo de subproceso para ejecutar un comando sqlldr

from subprocess import call retcode = call([self.COMMAND, self.CONNECTION_STRING, "control=" +self.CONTROL_FILE, "log="+self.TEMP_LOG_FILE, self.MODE , "data="+loadfile]) 

Cuando ejecuto el script anterior, la salida del comando sqlldr se imprime en la consola, la cual quiero redirigir a un archivo o ignorarlo. ya que sqlldr también escribe en el registro especificado.

Intenté algo como esto, para redirigir la salida a un archivo, pero arrojando un error en esta línea

 retcode = call([self.COMMAND, self.CONNECTION_STRING, "control=" +self.CONTROL_FILE, "log="+self.TEMP_LOG_FILE, self.MODE , "data="+loadfile, "> discard.log"]) 

¿Cómo lograr esto?

Abra un archivo para escribir y páselo como el argumento de la palabra clave stdout de subprocess.call :

 with open('stdout.txt', 'wb') as out: subprocess.call(['ls', '-l'], stdout=out) 

( subprocess.call acepta los mismos argumentos que el constructor subprocess.Popen ).