แก้โค้ดโมดูล แล้วอยากทดสอบใน Interactive Shell ทันที ไม่ต้อง Restart Shell ใช้ reload()
Python 2
>>> import mymodule
>>> # แก้ไข mymodule.py
>>> reload(mymodule)
Python 3 (ย้ายไปอยู่ใน imp แล้ว Deprecated ใช้ importlib แทน)
>>> import importlib
>>> import mymodule
>>> # แก้ไข mymodule.py
>>> importlib.reload(mymodule)
ข้อจำกัด
- ทำงานได้เฉพาะ
import moduleไม่ใช่from module import name - Object ที่ Import ไปแล้ว (เช่น
from mymodule import func) จะ ไม่ Update ต้อง Import ใหม่ - Extension Module (C Extension) ไม่รองรับ Reload
เคล็ดลับ: ใช้ IPython/Jupyter มี Magic Command %autoreload 2 Reload อัตโนมัติทุกครั้งก่อนรัน Cell