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

ฉันจะนำเข้าโมดูล Python แบบไดนามิกได้อย่างไร


ในการนำเข้าโมดูล Python แบบไดนามิก คุณสามารถใช้ฟังก์ชัน import_module(moduleName) ของแพ็คเกจ importlib คุณต้องมี moduleName เป็นสตริง ตัวอย่างเช่น

>>> from importlib import import_module
>>> moduleName = "os"
>>> globals()[moduleName] = import_module(moduleName)

หากคุณต้องการนำเข้ารายการโมดูลแบบไดนามิก คุณสามารถเรียกสิ่งนี้จาก for loop ได้ ตัวอย่างเช่น

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

การเรียก globals() ส่งคืน dict เราสามารถตั้งค่าคีย์ lib สำหรับแต่ละไลบรารีเป็นวัตถุที่ส่งคืนให้เราเมื่อนำเข้าโมดูล