วิธีการกู้คืนเซลล์โน๊ตบุ๊ค Jupyter ที่ถูกลบ?


105

ฉันใช้โน๊ตบุ๊ค Jupyter ฉันลบเซลล์โดยไม่ได้ตั้งใจและไม่สามารถถอยหลังได้

ฉันจะกู้คืนเซลล์โน้ตบุ๊กได้อย่างไร?

คำตอบ:


164

หากคุณไปที่ "แก้ไข" จะมีตัวเลือกสำหรับ "เลิกทำการลบเซลล์"

หากคุณมีความคุ้นเคยกับทางลัดที่คุณสามารถทำcmd+ shift + pแล้วพิมพ์ในundoการกู้คืนเช่นกัน ไม่จำเป็นต้องเลื่อนเมาส์ไปมา


7
สิ่งนี้ถูกลบออกใน Jupyter Lab ดูคำตอบของฉันเพื่อทราบวิธีการทำเช่นเดียวกันใน Jupyter lab
Rishabh Agrahari

ในห้องทดลอง jupyter คือ "เลิกทำเซลล์" วิธีนี้สามารถกู้คืนเซลล์ที่ถูกลบ ** ว้าว ... !
beep_check

79

ขั้นแรกให้เปลี่ยนเป็นโหมดคำสั่งโดยการกดESCจากนั้นคุณสามารถกดZเพื่อกู้คืนเซลล์ที่ถูกลบ ใช้งานได้แม้ใน Jupyter Lab ซึ่งไม่มีตัวเลือก "Undo Delete Cells" ในแท็บ "Edit"


1
ทำงานใน VSCode ด้วย!
towi_parallelism

31

หากเคอร์เนลสมุดบันทึกยังคงทำงานอยู่และคุณเรียกใช้เซลล์คุณจะพบเนื้อหาของเซลล์ทั้งหมดรวมทั้งเซลล์ที่ถูกลบใน_ihไฟล์. ตัวอย่างเช่นห้าเซลล์สุดท้าย:

_ih[-5:]

1
ในกรณีที่น่าเศร้าของการปิดเคอร์เนลฉันพบว่าเพียงแค่เปิดคอนโซล ipython และเลื่อนย้อนกลับในประวัติโดยใช้ลูกศรขึ้นจะแสดงเซลล์ที่ถูกลบที่ดำเนินการแล้ว นั่นเป็นสิ่งเดียวที่เหมาะกับฉัน
Itamar Katz

วิธีแก้ปัญหาในการกู้คืนการเปลี่ยนแปลง: ส่งออกประวัติ IPython ของคุณเป็นไฟล์ข้อความธรรมดาโดยเรียก "% history -g" นอกจากนี้คุณยังสามารถทำได้ด้วยชื่อไฟล์เฉพาะ:% history -g -f filename -g ทำอะไรได้บ้าง - ไม่มี -g จะส่งออกประวัติสำหรับเซสชันปัจจุบัน ด้วย -g มันส่งออกประวัติสำหรับเซสชันทั้งหมด
Serendipity

23

หากคุณต้องการยกเลิกบางสิ่งที่ถูกลบภายในเซลล์ให้กด:
CTRL/ CMD+Z

หากคุณจำเป็นต้องกู้คืนทั้งลบเซลล์
ESCตี: Z+
โดยเฉพาะเคล็ดลับที่สองนี้อาจมีประโยชน์หากคุณลบเซลล์จำนวนมากโดยไม่ได้ตั้งใจ


6

หากคุณรีสตาร์ทเคอร์เนลแล้ว%historyหรือ_ih[:n]จะว่างเปล่า คุณสามารถหวังว่าด่านล่าสุดจะเปลี่ยนกลับไปเป็น คุณสามารถทำได้ด้วย File> Revert to Checkpoint

หากคุณต้องการให้แน่ใจว่ามีอะไรอยู่ในจุดตรวจก่อนที่คุณจะเปลี่ยนกลับ - ในไดเร็กทอรีการทำงานของคุณ (สมุดบันทึกของคุณอยู่) คุณจะมีโฟลเดอร์ที่ซ่อนอยู่ซึ่งเก็บจุดตรวจของคุณ cd .ipynb_checkpointsจะพาคุณไปที่นั่น คุณสามารถดูภายในไฟล์และดูว่ามีรหัสที่หายไปหรือไม่

แค่นี้ก็ช่วยฉันแล้ว พบสิ่งนี้ในคำตอบที่นี่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.