Python/Utils

파이썬에서 모듈의 코드, 저장 경로와 내장 함수의 코드를 확인하는 방법

jimmy_AI 2022. 5. 20. 20:07
반응형

Python 라이브러리 코드/py 파일 위치, 내장 함수 코드 확인

파이썬에서 import한 모듈의 소스 코드와 코드 파일이 저장된 경로를 확인하고

내장 함수의 소스코드(파이썬 구현 코드)를 확인할 수 있는 방법을 살펴보도록 하겠습니다.

 

 

모듈 소스 코드 확인 : inspect.getsource()

inspect 라이브러리의 getsource 함수를 통하여 모듈의 소스 코드를 살펴볼 수 있습니다.

만일, 해당 모듈의 설치가 필요하다면 !pip install inspect 명령어를 통하여 설치해주세요.

 

예시로, random 라이브러리의 소스 코드를 출력하는 예시 코드는 아래와 같습니다.

import inspect
import random

codes = inspect.getsource(random)
print(codes)

출력된 random 모듈 코드 중 일부 예시

반응형

모듈 경로 확인 : inspect.getfile()

라이브러리가 구현된 py 파일의 경로를 직접 찾아서 코드를 확인하고 싶다면

inspect 라이브러리의 getfile 함수를 사용하시면 됩니다.

 

예를 들어, 텐서플로우 모듈의 소스 코드 py 파일이 저장된 경로를 확인하려면

아래 코드처럼 입력해주시면 됩니다.

import tensorflow as tf

print(inspect.getfile(tf))
# /usr/local/lib/python3.7/dist-packages/tensorflow/__init__.py

 

 

내장 함수 코드 확인

파이썬 내장 함수의 경우에는 위의 inspect 라이브러리의 함수들로

코드 및 경로를 확인할 수 없는 경우가 있습니다.

이는 built-in function은 파이썬 내 함수 정의 형식으로 작성되지 않은 경우도 있기 때문입니다.

 

참고로, 파이썬 자체는 C언어로 구현되어 있는 듯 한데,

https://github.com/python/cpython

 

GitHub - python/cpython: The Python programming language

The Python programming language. Contribute to python/cpython development by creating an account on GitHub.

github.com

위 링크의 깃허브 페이지에 python을 구현한 소스 코드 목록이 업로드되어 있으며

내장 함수, 내장 모듈 및 여러 종류의 기본 object의 코드들이 작성되어 있으니 참고해보세요.

 

또한, 다른 모듈 내 built-in function의 코드도 해당 모듈의 공식 github 페이지를 살펴보시면

마찬가지로 확인이 가능한 경우도 있으니 이 점도 참고해보세요.