4 เมษายน 2558

Published เมษายน 04, 2558 by with 0 comment

เรียกการทำงานของโมดูลใหม่ด้วยฟังก์ชั่น reload ใน Python

โมดูลหรือไลบรารี ก่อนที่เราจะเรียกใช้งานฟังก์ชั่นหรือคำสั่งในโมดูลนั้น ๆ ได้ต้องมีการ import module เข้ามาในโปรแกรม  โดย Python จะเรียกใช้โมดูลนั้นทำงานแค่ครั้งเดียวหลังจากจบการทำงานของโมดูลนั้น หากต้องการให้มีการทำงานประมวลผลใหม่อีกครั้งต้องใช้ฟังก์ชั่น reload ใน Python ครับ

ฟังก์ชั่น reload ใน Python 2


สามารถเรียกใช้งานโมดูลใหม่ได้อีกครั้งโดยใช้โค้ดดังนี้ครับ

[python]
reload(module_name)
[/python]

module_name คือ ชื่อโมดูลที่ต้องการเรียกใช้ใหม่อีกครั้งครับ
ตัวอย่างการใช้งาน

[python]
>>> import sys
>>> reload(sys)
<module 'sys' (built-in)>
[/python]

ฟังก์ชั่น reload ใน Python 3


ใน Python 3 ได้มีการเปลี่ยนแปลงฟังก์ชั่น reload จากเดิมใน Python 2 คือฟังก์ชั่น

[python]
reload(module_name)
[/python]

สำหรับ Python 3.0 - 3.3 จะใช้ไลบรารี imp ในการเรียกใช้ฟังก์ชั่น reload

[python]imp.reload(module_name)[/python]

ในการใช้งานต้อง import ไลบรารี imp เข้ามาด้วยครับ
ตัวอย่างการใช้งานสำหรับ Python 3.0 - 3.3

[python]
>>>> import sys
>>>> import imp
>>>> imp.reload(sys)
<module 'sys' (built-in)>
[/python]

สำหรับ Python 3.4 ขึ้นไป * จะใช้ไลบรารี importlib แทนครับ  (ไลบรารี imp ถูกยกเลิกตั้งแต่ Python 3.4 เป็นต้นไป) โดยใช้ฟังก์ชั่น

[python]
importlib.reload(module_name)
[/python]

module_name คือ ชื่อโมดูลที่ต้องการเรียกใช้ใหม่อีกครั้งครับ

*หมายเหตุ ฟังก์ชั่น importlib.reload(module_name) เพิ่งมีการประกาศใช้ครั้งแรกใน Python 3.4
ตัวอย่างการใช้งานสำหรับ Python 3.4 ขึ้นไป

[python]
>>> import sys
>>> import importlib
>>> importlib.reload(sys)
<module 'sys' (built-in)>
[/python]

ติดตามบทความต่อไปนะครับ
ขอบคุณครับ

0 ความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็นได้ครับ :)