Come posso eliminare l'output di consolare durante l'importazione di pacchetti in RPy2 in Python?

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

  •  13-10-2019
  •  | 
  •  

Domanda

Ogni volta che ho eseguito uno script importazione di pacchetti con import in RPy2 in Python, ci sono sempre alcune linee extra spuntando nella console. Ho incollato in un esempio di seguito. Come posso reprimere tale comportamento?

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.
È stato utile?

Soluzione

Si potrebbe reindirizzare temporaneamente il flusso di output per un blackhole poco prima del pezzo di spam di codice.

import sys

class Blackhole(object):

    def write(self, string):
        pass

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

function_el_spammo()

sys.stdout = stdout

Altri suggerimenti

Oltre require(tseries, quietly = TRUE) e utilizzando sink(), o il suo equivalente Python, c'è anche il semplice

suppressMessages( library( tseries ))

che preferisco.

Nello script R, vorrei precaricare il pacchetto tseries (solo nel caso se la sua chiamata da qualche altro functio / pacchetto) utilizzando

require(tseries, quietly = TRUE)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top