GNU/Linux >> Linux Esercitazione >  >> Linux

Come cancellare l'output di un notebook IPython in tutte le celle dal terminale Linux?

nbconvert 6.0 dovrebbe correggere --clear-output

L'opzione era stata interrotta per molto tempo in precedenza, segnalazione di bug con patch unita:https://github.com/jupyter/nbconvert/issues/822

L'utilizzo dovrebbe essere per operazioni sul posto:

jupyter nbconvert --clear-output --inplace my_notebook.ipynb

O per salvare in un altro file chiamato my_notebook_no_out.ipynb :

jupyter nbconvert --clear-output \
  --to notebook --output=my_notebook_no_out my_notebook.ipynb

Questo è stato portato alla mia attenzione da Harold nei commenti.

Prima di nbconvert 6.0:--ClearOutputPreprocessor.enabled=True

Stesso utilizzo di --clear-output :

jupyter nbconvert --ClearOutputPreprocessor.enabled=True --inplace my_notebook.ipynb
jupyter nbconvert --ClearOutputPreprocessor.enabled=True \
  --to notebook --output=my_notebook_no_out my_notebook.ipynb

Testato in Jupyter 4.4.0, notebook==5.7.6.


Se crei un .gitattributes file, puoi eseguire un filtro su determinati file prima che vengano aggiunti a git. Ciò lascerà il file originale sul disco così com'è, ma eseguirà il commit della versione "pulita".

Affinché funzioni, aggiungilo al tuo .git/config locale o globale ~/.gitconfig :

[filter "strip-notebook-output"]
    clean = "jupyter nbconvert --ClearOutputPreprocessor.enabled=True --to=notebook --stdin --stdout --log-level=ERROR"

Quindi crea un .gitattributes file nella tua directory con i taccuini, con questo contenuto:

*.ipynb filter=strip-notebook-output

Come funziona:

  • L'attributo dice a git di eseguire l'clean del filtro azione su ogni file notebook prima di aggiungerlo all'indice (staging).
  • Il filtro è il nostro amico nbconvert , impostato per leggere da stdin, scrivere su stdout, rimuovere l'output e parlare solo quando ha qualcosa di importante da dire.
  • Quando un file viene estratto dall'indice, il filtro è smudge l'azione viene eseguita, ma si tratta di un no-op in quanto non l'abbiamo specificato. Puoi eseguire qui il tuo notebook per ricreare l'output (nbconvert --execute ).
  • Nota che se il filtro in qualche modo fallisce, il file verrà messo in scena senza essere convertito.

La mia unica piccola lamentela con questo processo è che posso eseguire il commit .gitattributes ma devo dire ai miei colleghi di aggiornare il loro .git/config .

Se vuoi una versione più hacker ma molto più veloce, prova JQ:

  clean = "jq '.cells[].outputs = [] | .cells[].execution_count = null | .'"

Utilizza --ClearOutputPreprocessor.enabled=True e --clear-output

Dopo questo comando:

jupyter nbconvert --ClearOutputPreprocessor.enabled=True --clear-output *.ipynb


Linux
  1. Come cambiare il colore del tuo terminale Linux

  2. Come cercare nel Web da terminale su Linux

  3. Come acquisire le sessioni del terminale e l'output con il comando di script Linux

  4. Linux:la colonna dei buffer nell'output di Free?

  5. Come trovare tutti i file sparsi in Linux

Ridimensiona un'immagine dal terminale Linux

Come cercare file dal Terminale su Linux

Come gestire i file dal terminale Linux

Come aprire un URL nel browser Web dal terminale Linux

Come cancellare il terminale in Linux {Cancella schermo in Linux}

Come connettersi al WiFi dal terminale in Ubuntu Linux