2012-08-24 3 views
0

다음은 설치된 모듈을 나열하기 위해 작성한 기본 코드입니다.설치된 모듈 목록 (Python)

import sys as s 
mod=s.modules.keys() 
for indx,each in enumerate(mod): 
    print indx,each 

하지만이 무엇을 찾고, 그것은 단지 그것은 NumPy와 같이 한 번 계산해야

numpy.f2py.pprint' 
numpy.distutils.atexit' 
numpy.distutils.sys' 
numpy.f2py.sys' 

에 대해 같은 부모 모듈 이름을 인쇄하고 다음 모듈을 찾아 이동과 같은 반복해야합니다 way ...

+1

그리고? 시도 해 봤니? 모듈 이름을 '.' 및 일부 일부리스트에 제 1 파트를 저장하고 발견 된 각각의 추가 모듈에 대한 체크를 부가하는 단계를 포함한다. 문제가 무엇입니까? –

+0

그래, 내가 곧 시도하고 게시 할 예정이지만, 그것은 내 숙제가 아니라, 내가 모듈을 설치하고 때로는 인터넷에서 다운로드 가져 오기를 시도하는 것을 잊어 버렸어 ... 또한 물건을 암기에서 작동해야합니다. .. –

답변

1
import sys as s 
mod=s.modules.keys() 
mods_seen = list() 
for indx,each in enumerate(mod): 
    parts = each.split('.') 
    if not parts[0] in mods_seen: 
     print indx,each 
     mods_seen.append(parts[0]) 
+0

발견 된 모듈은 파이썬 인터프리터 나 IDLE 또는 VIDLE 인터프리터를 통해 검색 할 경우 다릅니다. 많은 것을 실험 해 왔습니다 !!! 왜 그렇습니까? 어떤 이유에서든 –

0

시스템 명령 시스템 명령 그러나 모든 모듈이 나열되어 있거나 pip와 함께 설치된 모듈 만 나열하면 완전히 확실하지 않습니다.

+1

후자. 게다가 모든 사람들이'pip'를 사용하지는 않습니다. –

+0

정확히 내가 사용하지 않는 피 ... –

5
import sys 
print set([each.split('.')[0] for each in sys.modules.keys()]) 
+1

은 numpy 모듈을 나열하지 않습니다 :/ –

+0

sys.modules는 설치된 모든 모듈의 목록이 아닙니다.로드 된 모듈 목록입니다. 코드 상단에'import numpy '를 추가하면 numpy가 표시됩니다. – MostafaR

+0

정확히하지만 sys.modules.keys()는 내가 언급 한 모든 예제를 나열합니다 –

0
def __listAllModules(self): 
    """ This method returns all the modules installed in python 
     including the built in ones. 
    """ 
    allmodules = list(sys.builtin_module_names) 
    allmodules += list(t[1] for t in pkgutil.iter_modules()) 
    allmodules = sorted(allmodules) 
    return allmodules