2010-01-17 17 views
5

क्या वर्तमान निर्देशिका में सभी मॉड्यूल आयात करने का कोई तरीका है, और उनमें से एक सूची लौटाएं?निर्देशिका में सभी मॉड्यूल आयात करें

उदाहरण के लिए

, साथ निर्देशिका के लिए:

  • mod.py
  • mod2.py
  • mod3.py

यह आप [<module 'mod'>, <module 'mod2'>, <module 'mod3'>]

+0

की [अजगर में एक फ़ोल्डर में सभी मॉड्यूल लोड हो रहा है] संभव डुप्लिकेट (http://stackoverflow.com/questions/1057431/loading-all-modules-in-a-folder-in-python) –

उत्तर

1

दे देंगे मुझे लगता है कि मुझे आपका विचार मिल गया है।

निम्नलिखित का प्रयास करें:

import glob 
modules = [] 
for module_name in glob.glob("*.py"): 
    modules.append(__import__(module_name[:-3])) 

इस तरह आप module वस्तुओं की एक सूची हो और वैश्विक नामस्थान को दूषित नहीं है।

+2

यह काम करने के लिए , आपको '.py' प्रत्यय से छुटकारा पाने की आवश्यकता है। – bereal

+0

@bereal बहुत बहुत धन्यवाद! हालांकि, यह काफी आसान है। –

संबंधित मुद्दे