J'ai une petite sélection de code:En Python, comment la sortie de la console d'une sélection de code peut-elle être supprimée?
stream = pyaudio.PyAudio().open(
format = pyaudio.PyAudio().get_format_from_width(1),
channels = 1,
rate = bitrate,
output = True
)
Quand je lance, il produit quelques lignes de sortie de la console:
ALSA lib pcm_dsnoop.c:614:(snd_pcm_dsnoop_open) unable to open slave
ALSA lib pcm_dmix.c:1024:(snd_pcm_dmix_open) unable to open slave
ALSA lib pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.rear
ALSA lib pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.center_lfe
ALSA lib pcm.c:2267:(snd_pcm_open_noupdate) Unknown PCM cards.pcm.side
ALSA lib pcm_dmix.c:1024:(snd_pcm_dmix_open) unable to open slave
Cannot connect to server socket err = No such file or directory
Cannot connect to server request channel
jack server is not running or cannot be started
Comment puis-je changer mon code entourant cet appel de fonction particulière faire la sortie de la console du formulaire ci-dessus ne pas apparaître tout en ne faisant pas disparaître la sortie de la console de l'autre code?
J'imagine une solution à ce sous la forme d'un gestionnaire de contexte, peut-être quelque chose d'un peu comme ce qui suit:
@contextlib.contextmanager
def silence():
# <insert magic to direct stdout and stderr to null>
yield
# <insert magic to direct stdout and stderr to console>
with silence():
stream = pyaudio.PyAudio().open(
format = pyaudio.PyAudio().get_format_from_width(1),
channels = 1,
rate = bitrate,
output = True
)
Hey, merci pour le poste. Je demandais plus sur la façon de coder les choses de silence et de désinsertion (dans votre code représenté par des commentaires). – d3pd
Oh, c'est en fait dans le lien ci-dessus – alpert