Skip to content

Instantly share code, notes, and snippets.

@feeeper
Forked from damianavila/remove_output.py
Created August 20, 2018 09:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save feeeper/dbea291340f8e561fa4d905213f2fdcc to your computer and use it in GitHub Desktop.
Save feeeper/dbea291340f8e561fa4d905213f2fdcc to your computer and use it in GitHub Desktop.
Remove output from IPython notebook from the command line (dev version 1.0, python 3)
"""
Usage: python remove_output.py notebook.ipynb [ > without_output.ipynb ]
Modified from remove_output by Minrk
"""
import sys
import io
import os
from IPython.nbformat.current import read, write
def remove_outputs(nb):
"""remove the outputs from a notebook"""
for ws in nb.worksheets:
for cell in ws.cells:
if cell.cell_type == 'code':
cell.outputs = []
if __name__ == '__main__':
fname = sys.argv[1]
with io.open(fname, 'r') as f:
nb = read(f, 'json')
remove_outputs(nb)
base, ext = os.path.splitext(fname)
new_ipynb = "%s_removed%s" % (base, ext)
with io.open(new_ipynb, 'w', encoding='utf8') as f:
write(nb, f, 'json')
print("wrote %s" % new_ipynb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment