Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python 스크립트에서 사용하는 모듈 찾기(modulefinder)

<시간/>

'modulefinder' 모듈의 ModuleFinder 클래스는 특정 스크립트에서 가져온 모듈 집합을 결정할 수 있습니다. 이 모듈에는 명령줄 인터페이스와 프로그래밍 방식 인터페이스가 있습니다.

기능 시연을 위해 다음 스크립트를 사용하십시오.

#modfinder.py
import hello
try:
   import trianglebrowser
   import nomodule,mymodule
except ImportError:
   pass

명령줄 인터페이스

다음 명령은 찾은 모듈과 찾을 수 없는 모듈 목록을 표시합니다.

E:\python37>python -m modulefinder modfinder.py

출력

Name File
---- ----
m __main__ modfinder.py
m hello hello.py
m math
m trianglebrowser trianglebrowser.py

Missing modules:
? mymodule imported from __main__
? nomodule imported from __main__
에서 가져온 nomodule

프로그래매틱 인터페이스

모듈 찾기 이 모듈의 클래스는 스크립트에서 가져온 모듈 집합을 결정하기 위해 run_script() 및 report() 메서드를 제공합니다.

보고()

이 방법은 스크립트에서 가져온 모듈과 해당 경로, 누락되었거나 누락된 것으로 보이는 모듈을 나열하는 보고서를 표준 출력으로 인쇄합니다.

run_script()

이 메소드는 Python 코드를 포함해야 하는 주어진 파일의 내용을 분석합니다.

모듈

이것은 모듈 이름을 모듈에 매핑하는 사전입니다.

불량 모듈

로드할 수 없는 모듈 목록입니다.

예시


import modulefinder
modfind=modulefinder.ModuleFinder()
modfind.run_script('modfinder.py')
print ('Modules loaded:')
for k,v in modfind.modules.items():
   print (k,v)
print ('not found:')
for i in modfind.badmodules.keys():
   print (i)

출력

Modules loaded:
__main__ Module('__main__', 'modfinder.py')
hello Module('hello', 'E:/python37\\hello.py')
trianglebrowser Module('trianglebrowser', 'E:/python37\\trianglebrowser.py')
math Module('math')
not found:
nomodule
mymodule