¿Cómo puedo suprimir Yo la salida a la consola cuando la importación de paquetes en RPy2 en Python?

StackOverflow https://stackoverflow.com/questions/4745388

  •  13-10-2019
  •  | 
  •  

Pregunta

Siempre que tengo un script importación de paquetes con import en RPy2 en Python, siempre hay algunas líneas adicionales continúan apareciendo en la consola. Pegué en un ejemplo a continuación. ¿Cómo puedo suprimir ese comportamiento?

CookieJar:r cookies$ python script.py 

    ‘tseries’ version: 0.10-24

    ‘tseries’ is a package for time series analysis and computational
    finance.

    See ‘library(help="tseries")’ for details.
¿Fue útil?

Solución

Se puede redirigir temporalmente el flujo de salida a un agujero negro justo antes de que la pieza de spam de código.

import sys

class Blackhole(object):

    def write(self, string):
        pass

stdout = sys.stdout
sys.stdout = Blackhole()

function_el_spammo()

sys.stdout = stdout

Otros consejos

Además require(tseries, quietly = TRUE) y usando sink(), o su equivalente Python, existe también la sencilla

suppressMessages( library( tseries ))

que yo prefiero.

En la secuencia de comandos R, me gustaría cargar previamente el paquete tseries (por si acaso si es llamado por algunos otros funcio / paquete) utilizando

require(tseries, quietly = TRUE)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top