Python之imp模組

來源:互聯網
上載者:User

標籤:python   imp   

imp.get_suffixes()

返回3元組列表(suffix, mode, type), 獲得特殊模組的描述.suffix為檔案尾碼名;mode為開啟檔案模式; type為檔案類型, 1代表PY_SOURCE, 2代表PY_COMPILED, 3代表C_EXTENSION

>>> imp.get_suffixes()[(‘.x86_64-linux-gnu.so‘, ‘rb‘, 3), (‘.so‘, ‘rb‘, 3), (‘module.so‘, ‘rb‘, 3), (‘.py‘, ‘U‘, 1), (‘.pyc‘, ‘rb‘, 2)]
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”必須是一個列表.
>>> print imp.find_module(‘os‘)(<open file ‘/usr/lib/python2.7/os.py‘, mode ‘U‘ at 0x7fdeebd53a50>, ‘/usr/lib/python2.7/os.py‘, (‘.py‘, ‘U‘, 1))
imp.load_module(name, file, pathname, description)
  • 載入一個被find_module找到的模組. 如果模組已經被載入, 等同於reload().
  • 當模組是包或者不從檔案載入時, file和pathname可以是None和”.
  • 成功載入後返回一個模組對象,否則拋出 ImportError異常.
  • 需要自己關閉file,最好用try…finally…

執行個體

>>> file, pathname, desc = imp.find_module(‘os‘)>>> myos = imp.load_module(‘sep‘, file, pathname, desc)>>> myos<module ‘sep‘ from ‘/usr/lib/python2.7/os.pyc‘>>>> myos.getcwd()‘/home/ydoing/github/autorunner‘

Python之imp模組

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.