Come posso eliminare l'output di consolare durante l'importazione di pacchetti in RPy2 in Python?
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.
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