發現imp主要有兩種用法
- imp.find_module(name[,path])
如果path爲空,則按照sys.path路徑搜索模塊名, 返回三元組(file, pathname, description).file爲剛打開的模塊文件, pathname爲模塊的路徑, description爲imp.get_suffixes()返回的元組.
如果模塊爲包,file返回None, pathname爲包路徑, description返回的type爲PKG_DIRECTORY.
find_module不會處理層次結構的模塊名(帶’.’號的模塊名module.name1.name2).
“path”必須是一個列表. - imp.load_module(name, file, pathname, description)
加載一個被find_module找到的模塊. 如果模塊已經被加載, 等同於reload().
當模塊是包或者不從文件加載時, file和pathname可以是None和”.
成功加載後返回一個模塊對象,否則拋出 ImportError異常.
需要自己關閉file,最好用try…finally…