Comment la sortie peut-elle stdout
être supprimée?
Un point-virgule peut être utilisé pour supprimer l'affichage des objets renvoyés, par exemple
>>> 1+1
2
>>> 1+1; # No output!
Cependant, une fonction qui imprime sur stdout n'est pas affectée par le point-virgule.
>>> print('Hello!')
Hello!
>>> MyFunction()
Calculating values...
Comment la sortie de print
/ MyFunction
peut -elle être supprimée?
nil
comme dernière ligneRéponses:
Ajouter
%%capture
comme première ligne de la cellule. par exempleCela supprime simplement la sortie, mais la
%%capture
magie peut être utilisée pour enregistrer la sortie dans une variable - consultez la documentationla source
%%capture
activé que jusqu'à la fin de la cellule et qu'il doit apparaître avant tout code dans la cellule. (Il semble donc qu'il n'y ait pas de moyen de détacher dans une cellule.)with io.capture_output() as captured:
vous pouvez affiner dans une cellule pour capturer uniquement ce qui est exécuté dans cewith
contexte.Supprimer la sortie
Mettez un
;
à la fin d'une ligne pour supprimer l'impression de la sortie [ Référence ].la source
for
boucle. Des idées? Je veux uniquement supprimer la sortie de certaines lignes de code dans la cellule, pas toutes les lignes. Merci(crédit: https://stackoverflow.com/a/23611571/389812 )
Vous pouvez utiliser io.capture_output :
pour supprimer (par exemple capturer) stdout et stderr pour ces lignes dans le
with-statement
.la source
%autosave
et que je souhaite supprimer sa sortie. Je pensais que ce serait simple - mais bizarre,contextlib.redirect_stdout
et lessys.stdout = open(os.devnull, 'w')
deux échouent (finissent par imprimer une ligne vierge supplémentaire). Cela devrait être la réponse acceptée.Si quelqu'un souhaite effacer toutes les sorties:
Ensuite, choisissez l'option qui vous convient.
la source