Python guarda la salida de la consola en un archivo

En el trabajo normal, a veces necesitamos guardar la salida de la consola en un archivo

1. Línea de comando con> sobrescribir y >> agregar escritura

para i en rango ( 10000 ): 
    imprimir (i)
Ver código


#Escriba la anulación de salida de la consola en el archivo python myprint.py> myprint.txt



#Agregue la salida de la consola al archivo python myprint.py >> myprint.txt

2. Salida sys.stdout a un archivo

import sys 
tiempo de importación 
f = abierto ( " myprint.txt " , " w + " ) 
sys.stdout = f
 para i en el rango ( 1000 ): 
    print (i * 9 )
Ver código

Desventajas: solo se puede guardar en un archivo, pero la consola no tiene salida

3. Use el parámetro de archivo en la función de impresión

import sys 
tiempo de importación 
f = abierto ( " myprint.txt " , " w + " )
 para i en el rango ( 100 ): 
    print ( " - {} - " .format (i ** 2 ), file = f, flush = Verdadero) 
    print ( " - {} - " .format (i ** 2 ), file = sys.stdout) 
    time.sleep ( 0.5 )
Ver código

Guarde la salida de la consola en un archivo al instante

El parámetro de archivo en la función de impresión, archivo = f, salida al archivo; archivo = sys.stdout, salida al terminal; flush = True, actualización instantánea

4. Implementar con clases

importar sys
 class Logger ( objeto ): 
    def __init __ (self, filename = ' default.log ' , stream = sys.stdout): 
        self.terminal = stream 
        self.log = open (filename, ' a ' ) 

    def write (self, mensaje): 
        self.terminal.write (mensaje) 
        self.log.write (mensaje) 

    def flush (self): 
        pass 

sys.stdout = Logger (stream = sys.stdout) 

# ahora funciona 
print ( ' imprimir algo ' ) 
print (" salida " )
Ver código

 

Supongo que te gusta

Origin www.cnblogs.com/pfeiliu/p/12723589.html
Recomendado
Clasificación