Foros Python

Versión completa: Direccionar la salida de una función hacia un archivo.
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Hola
Me podríais orientar como se puede direccionar la salida de una función python en la consola hacia un archivo para guardar toda la salida.
Por ejemplo dir(os) > archivo.txt
gracias
hola,

por ejemplo:


Código:
import os, sys

codificacion_fich = sys.getfilesystemencoding()

with open("salida.txt", "a", encoding=codificacion_fich) as a:
   for path, subdirs, fichs in os.walk('E:\\'):
       for nom_fich in fichs:
           f = os.path.join(path, nom_fich)
           a.write(str(f) + os.linesep)
Edito:
Para usar los comandos -en genérico- del SO, podemos usar el modulo subprocess. Por. Ejemplo:

Código:
import subprocess

with open("salida1.txt","a") as stdout:
   subprocess.Popen(
       #['/bin/sh', '-c', args[0], args[1], ...], # es una lista con el comando y sus posibles argumentos
       ['dir', 'E:\\'],
       shell=True,   # depende del sistema. Por defecto creo que es False. ¿Problema seguridad?
       # https://docs.python.org/2/library/subprocess.html#subprocess.Popen
       stdout=stdout,
       stderr=stdout)