저는 수입품과 약간 혼동되어 있고 사용하고있는 함수의 버전을보고 싶습니다. 거기에 구현 또는 클래스를 보유하고있는 파일 이름을 얻을 수있는 방법이 있습니까?Python : 내가 사용하고있는 함수의 버전을 확인하십시오.
3
A
답변
2
당신은 표준 파이썬 라이브러리에서 inspect
모듈을 사용할 수 있습니다
import inspect
inspect.getfile(some_func)
2
대부분의 기능에서 작동합니다. 내장 기능에서는 작동하지 않지만 어쨌든 가져 오기 기능은 아닙니다.
import sys
sys.modules[somefunc.__module__].__file__
+0
이 멤버 함수와 함께 작동하는지 확실하지 : 예를 들어, '' '.strip .__ module__'에 대한'None'입니다. – NPE
+0
@aix : 기본 제공이기 때문입니다. –
아주 좋습니다! 이걸 몰랐어. 그것은 단지'sys.modules '를 참조하는 것보다 더 많은 함수 (예를 들어'struct.pack')에서 실패하는 것처럼 보입니다. –
@MattiVirkkunen,'sys.modules [struct.pack .__ module __] .__ file__' raising'AttributeError : 'module'객체는 나를 위해 '__file __'속성을 가지고 있지 않습니다. 'sys.modules [struct.pack .__ module __]'->' –
reclosedev
내 생각에는 버전이나 플랫폼의 차이 일 것 같네요. 다행히도 어쨌든 내장 파일이 어떤 파일인지 알 필요가 없습니다. –