2009-12-14 3 views
0

setuptools를 사용하여 파이썬 패키지를 설치 한 다음 표준 파이썬 스크립트에서 해당 패키지의 메소드를 실행하면 호출/실행 파일의 파일 경로를 가져올 수 있습니까?설치된 패키지에서 실행 파일의 경로를 가져 옵니까?

import baz 
baz.get_current_path() 
# should print /usr/foo/bar.py 

과 setuptools에를 사용하여 설치하고 모든 파이썬 패키지가 설치되는 마법의 장소에 위치하고 있습니다 baz 패키지 : 예를 들어

, 나는 실행하고있어 파일은 다음과 같습니다하는 /usr/foo/bar.py입니다 좋은 작은 패키지 였어.

__file__import inspect; inspect.currentframe().f_code.co_filename은 모두 패키지 파일의 경로를 반환합니다.

이것이 가능합니까?

+0

이것은 나쁜 생각처럼 들립니다. 'sys.argv [0]'을 대신 사용 하시겠습니까? –

답변

1

inspect.getouterframes() 또는 inspect.stack()을 사용한 다음 호출 프레임에서 파일 이름을 가져옵니다.

+0

'import inspect; inspect.stack() [- 1] [0] .f_code.co_filename' 트릭을 수행했습니다. 감사! –

관련 문제