歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> Linux資訊 >> 更多Linux

Python知識:包的模塊導入

  這裡所講不是用import名令,而是講用__import__函數。 如果我們有一個testa.py文件,我們可以用module=__import__('testa')來導入它。這樣可以用module.屬性來使用testa.py中的屬性。如果我們有一個包,如: 在當前子目錄下有一個名為:modules的目錄,其中有__init__.py,testa.py兩個文件。 因為在modules目錄下有__init__.py文件,所以目錄modules可以視為一個包,即將整個目錄作為一個模塊(象Java一樣)。如果想導入testa.py,則可以使用import modules.testa.py 但如果使用__import__函數,情況有變化(可以參考文檔中關於__import__的說明)。大概就是:使用__import__導入包形式的模塊,如module=__import__('modules.testa'),此時返回的不是testa模塊的對象,而是包的對象,所以想導入 testa可以使用文檔中的方法: def my_import(name): mod = __import__(name) components = name.split('.') for comp in components[1:]: mod = getattr(mod, comp) return mod (我只試驗了一層,多層的並未測試,有興趣的可以把結果告訴我)




Copyright © Linux教程網 All Rights Reserved