Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Import โมดูล Python ใน For Loop แบบ Dynamic

Import หลายโมดูลจาก List ของชื่อ String ใช้ importlib.import_module()

ตัวอย่าง

>>> import importlib
>>> modnames = ["os", "sys", "math"]
>>> for lib in modnames:
...     globals()[lib] = importlib.import_module(lib)

คำอธิบาย

  • globals() คืน Dictionary ของ Global Namespace
  • Set Key = ชื่อโมดูล Value = Module Object
  • หลังลูป ใช้ os, sys, math ได้ปกติ

กรณี Import จาก Package

plugins = ['auth', 'cache', 'db']
for p in plugins:
    globals()[p] = importlib.import_module(f'myapp.plugins.{p}')
ข้อควรระวัง: ใช้ได้กับ import module เท่านั้น from module import name ต้องจัดการแยก