2013-12-21 144 views
0

我想允許用戶創建模塊文件,如果沒有在Py3k中定義名稱。 (在它的便攜式安裝)。例如,如果用戶輸入「ppp」,我必須首先檢查,如果Py安裝中存在模塊「ppp」(它存在於此!)並且不允許使用此名稱。如果他輸入「my_name」,我必須允許,如果輸入「ppp」或「json」,我必須禁止它。確定,是模塊名已經定義,沒有加載模塊

任何方式做這個檢查沒有做「導入」第一?這種導入可能會佔用很多內存。我只想檢查模塊名稱是否可以導入

回答

1

可以使用pkgutil模塊,像這樣:

import pkgutil 

def module_exists(m): 
    for module_loader, name, ispkg in pkgutil.iter_modules(): 
     if name == m: 
      return True 
    return False