2011-04-09 3 views
2

내가 사용하여 파일을 많이하여이 소스 (수입)되는 모듈 my_module이 만들어진 곳 LINE_NO : 파일 이름을 알고 my_module에 가져 오기

from my_module import *

모듈 내부의 복지를, 내가 알 수있는 이 모듈을 가져온 파일?
이 가져 오기를 만든 파일 이름 : line_no를 알고 싶습니다.

그래서 필요한 코드는 다음과 같습니다

my_module.py

print "This module is currently imported from: file:line_no = %s:%s" % what_in_here?? 
+0

흥미 롭군요.하지만 왜 이걸 필요로합니까? – Cameron

답변

4

장소이 최상위 모듈 코드 :

import traceback 
last_frame = traceback.extract_stack()[-2] 
print 'Module imported from file:line_no = %s:%i' % last_frame[:2] 

또한 inspect 대신 traceback을 사용할 수 있습니다 :

import inspect 
last_frame = inspect.stack()[1] 
print 'Module imported from file:line_no = %s:%i' % last_frame[1:3]