Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Direccionar la salida de una función hacia un archivo.
#1
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
Responder
#2
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)
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)