모듈이 어느 위치(path)에 있는지 알아내고 싶습니다


모듈이 수정되거나 바뀐걸 알아내고 싶습니다. 마지막 수정일을 알아내는 방법은 알고 있는데 모듈이 어느 위치에 있는지 알아내려면 어떻게 해야 하나요?

  • 2016년 01월 19일에 작성됨

조회수 354


1 답변


좋아요
0
싫어요
채택취소하기

1. modulename.__file__

modulename.__file__은 모듈(.pyc)이 로드된 path를 알려줍니다.

import a_module
print a_module.__file__

#또는
import os
path = os.path.abspath(amodule.__file__)

모듈의 디렉토리가 바뀐 걸 알고 싶을 때는 다음과 같이 써주면 됩니다.

import os
path = os.path.dirname(amodule.__file__)

2. inspect 모듈

inspectmodule이나 class, methods, functions, tracebacks, frame objects, code objects 같은 live object에 대한 정보를 제공합니다.

대표적으로 class의 멤버 변수/함수, 함수의 파라미터 형식, 메소드의 소스코드 등을 예로 들 수 있습니다.

import os
import inspect
print(inspect.getfile(os)) #'/usr/lib64/python2.7/os.pyc'
print(inspect.getfile(inspect)) #'/usr/lib64/python2.7/inspect.pyc'
os.path.dirname(inspect.getfile(inspect)) #'/usr/lib64/python2.7'

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close