GNU/Linux >> Znalost Linux >  >> Linux

Jak vymazat výstup notebooku IPython ve všech buňkách z terminálu Linux?

nbconvert 6.0 by měl opravit --clear-output

Tato možnost byla již delší dobu nefunkční, hlášení o chybě se sloučeným patchem:https://github.com/jupyter/nbconvert/issues/822

Použití by mělo být pro provoz na místě:

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

Nebo uložit do jiného souboru s názvem my_notebook_no_out.ipynb :

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

Na to mě upozornil Harold v komentářích.

Před nbconvert 6.0:--ClearOutputPreprocessor.enabled=True

Stejné použití jako --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

Testováno v Jupyter 4.4.0, notebook==5.7.6.


Pokud vytvoříte .gitattributes soubor, můžete spustit filtr přes určité soubory před jejich přidáním do git. Tím zůstane původní soubor na disku tak, jak je, ale potvrdí se "vyčištěná" verze.

Aby to fungovalo, přidejte toto do místního .git/config nebo globální ~/.gitconfig :

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

Poté vytvořte .gitattributes soubor ve vašem adresáři s notebooky s tímto obsahem:

*.ipynb filter=strip-notebook-output

Jak to funguje:

  • Atribut říká gitu, aby spustil clean filtru akce na každý soubor poznámkového bloku před jeho přidáním do indexu (staging).
  • Filtr je náš přítel nbconvert , nastavit čtení ze stdin, zapisovat do stdout, odstraňovat výstup a mluvit pouze tehdy, když má něco důležitého říct.
  • Když je soubor extrahován z indexu, filtr má hodnotu smudge akce je spuštěna, ale nejde o operaci, protože jsme ji nespecifikovali. Zde můžete spustit svůj notebook a znovu vytvořit výstup (nbconvert --execute ).
  • Všimněte si, že pokud filtr nějak selže, soubor bude zinscenován bez konverze.

Moje jediná drobná výhrada k tomuto procesu je, že mohu spáchat .gitattributes ale musím říct svým spolupracovníkům, aby aktualizovali své .git/config .

Pokud chcete hackerskou, ale mnohem rychlejší verzi, zkuste JQ:

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

Použijte --ClearOutputPreprocessor.enabled=True a --clear-output

Po tomto příkazu:

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


Linux
  1. Jak změnit barvu vašeho terminálu Linux

  2. Jak zachytit terminálové relace a výstup pomocí příkazu skriptu Linux

  3. Linux:Jak získat všechny přihlašovací protokoly ze systému?

  1. Jak najít všechny řídké soubory v Linuxu

  2. jak se přihlásit do mysql a dotazovat se na databázi z linuxového terminálu

  3. Jak nastavit IP adresu z C v linuxu

  1. Jak vyhledávat na webu z terminálu v systému Linux

  2. Linux – sloupec Buffers ve výstupu zdarma?

  3. RSS čtečka z terminálu v Linuxu