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

조회수 19829회

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

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    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'
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)