*גם ניסיתי לעשות מה שאחרים כתבו בהודעות אחרות ולא הצלחתי (סימון של המחברת ולחיצה על shtdown או כניסה למחברת ולחיצה על CELL- את זה אני בכלל לא מצליחה לעשות כי זה נתקע)
Yam
eden.munioz
היי,
יש לי שם דברים שכבר עשיתי וממש לא רוצה למחוק
יש לך אולי רעיון אחר?
Yam
כן. פתחי מחברת חדשה, והדביקי שם את הקוד הבא.
שני את PATH_TO_NOTEBOOK למקום שבו שמורה המחברת שעושה צרות.
תריצי את הקוד שכתבתי עבורך – זה אמור לעבוד, אבל שימי לב שכל תא קוד שיש בו יותר מ־20,000 תווים ימחק.
import json
PATH_TO_NOTEBOOK = r"C:\Users\Yam\Projects\Notebooks\week3\1_While_Loops.ipynb"
CELL_LENGTH_THRESHOLD = 20_000
def get_notebook(notebook_path):
with open(notebook_path, 'r', encoding='utf-8') as notebook:
return json.load(notebook)
def is_large_cell(cell):
return len(str(cell)) > CELL_LENGTH_THRESHOLD
def is_output_cell(cell):
return cell['cell_type'] == "code"
def get_only_good_cells(notebook_cells):
good_cells = notebook_cells.copy()
i = 0
removed_cells = 0
while i < len(notebook_cells):
current_cell = notebook_cells[i]
if is_large_cell(current_cell) and is_output_cell(current_cell):
good_cells.pop(i - removed_cells)
removed_cells = removed_cells + 1
i = i + 1
return good_cells
def rebuild_notebook(notebook, good_cells):
notebook['cells'] = good_cells
return json.dumps(notebook)
def save_notebook(path, notebook_data):
with open(path, 'w', encoding='utf-8') as notebook:
notebook.write(notebook_data)
def fix_notebook(path):
notebook = get_notebook(path)
good_cells = get_only_good_cells(notebook['cells'])
new_notebook = rebuild_notebook(notebook, good_cells)
save_notebook(path, new_notebook)
fix_notebook(PATH_TO_NOTEBOOK)
רפרנסים למציאה בחיפוש:
מחברת אחת נתקעת, מחברת נתקעת, מחברת 1 נתקעת, לולאה אינסופית, שבוע 3 מחברת 1, לולאה אינסופית נתקעת