Dans Google Colab, j'exécute des scripts de ligne de commande par placer un !
devant la ligne et exécuter la cellule.
Par exemple
!pip install adjustText
Si je veux empêcher la production de cette cellule, je peux le faire
%%capture
!pip install adjustText
Cependant, j'ai une situation où j'exécute les scripts de ligne de commande via une fonction et supprimez uniquement la sortie de cette ligne de commande, sans supprimer la sortie de la cellule à partir de laquelle il est exécuté
Par exemple
Cell1:
%%capture
def installAdjust():
!pip install adjustText
Cell2:
for v in range(10):
print(v)
installAdjust()
Cela ne réduit pas la sortie de !pip install adjustText
. Je ne veux pas supprimer la sortie de la ligne de commande de la cellule2, donc je ne peux donc pas faire cela
Cell2:
%%capture
for v in range(10):
print(v)
installAdjust()
En outre, cela ne fonctionne pas non plus
Cell1:
def installAdjust():
%%capture
!pip install adjustText
Utilisation capture_output
des utilitaires de Python:
from IPython.utils import io
for v in range(10):
print(v)
with io.capture_output() as captured:
installAdjust()
Pour l'avenir, chaque fois qu'une fonction magique ne suffit pas, la recherche des propriétés principales en cours d'accès et d'y accéder vous-même.
Réponse provenant de: Comment supprimez-vous la sortie dans Ipython Notebook?
vous pouvez utiliser la fonction magique '%% capture' dans une cellule (sans guillemets) pour supprimer la sortie de cette cellule particulière, qu'il utilise un code de ligne de commande ou un autre python Code, la fonction magique est Fondamentalement, une propriété de Jupyter Notebooks, mais depuis que Google Colab est construite à ce sujet, cela fonctionnera également. Par exemple:
%%capture
!wget https://github.com/09.10-20_47_44.png