반응형
질문
아래와 같이 정의된 Python 함수가 있다고 가정합니다:
def foo(arg1,arg2):
#인자들을 이용하여 작업 수행
a = arg1 + arg2
return a
foo.func_name
을 사용하여 함수의 이름을 가져올 수 있습니다. 위에서 입력한 대로 함수의 소스 코드를 프로그래밍적으로 어떻게 가져올 수 있을까요?
답변
만약 함수가 파일 시스템에서 사용 가능한 소스 파일에서 가져온 것이라면, inspect.getsource(foo)
가 도움이 될 수 있습니다:
만약 foo
가 다음과 같이 정의되어 있다면:
def foo(arg1,arg2):
#args와 무언가를 수행
a = arg1 + arg2
return a
그러면:
import inspect
lines = inspect.getsource(foo)
print(lines)
다음을 반환합니다:
def foo(arg1,arg2):
#args와 무언가를 수행
a = arg1 + arg2
return a
하지만, 함수가 문자열, 스트림으로부터 컴파일되거나 컴파일된 파일에서 가져온 것이라면 소스 코드를 검색할 수 없다고 믿습니다.
반응형
댓글