Saya menjalankan foo.py
dari baris perintah, dan itu termasuk fungsi yang memiliki for loop, di dalamnya adalah fungsi yang memiliki pernyataan IPython.embed(). Ini untuk menginisialisasi juru bahasa pada titik itu di dalam fungsi untuk memiliki akses ke variabel lokal tersebut.
Namun, ketika mencoba melarikan diri dari juru bahasa yang disematkan, itu hanya membuka juru bahasa baru (mungkin hingga k kali untuk for loop), secara efektif mengunci terminal itu.
Akan menyenangkan untuk memiliki perintah yang analog dengan ipdb
's q
, yang segera melempar pengecualian dan keluar ke CLI di mana foo.py
dieksekusi.
Coba %kill_embedded
- itu tidak keluar dari loop Anda, tetapi itu harus membuat semua panggilan di masa mendatang ke embed()
tanpa operasi, sehingga sisa skrip Anda dieksekusi sampai selesai.
Akan menyenangkan untuk memiliki satu perintah yang akan sepenuhnya menghentikan eksekusi skrip. Seperti yang setara dengan:
%kill_embedded
(dan ya, tentu saja)exit
%exit_raise
akan memunculkan pengecualian ke dalam konteks luar dan kode Anda akan keluar
Komentar yang paling membantu
Akan menyenangkan untuk memiliki satu perintah yang akan sepenuhnya menghentikan eksekusi skrip. Seperti yang setara dengan:
%kill_embedded
(dan ya, tentu saja)exit