2012-12-04 10 views
11

たとえばa.booメソッドはb.fooメソッドを呼び出します。 b.foo方法では、どのように私はあなたがこれを達成するためにinspectモジュールを使用することができます呼び出し元のファイル名、メソッド名をPythonで取得する方法

+0

あなたの答えがありがとう、私は今ここで私にとって最高だとわかった:http://stackoverflow.com/questions/3711184/how-to-use-inspect-to-get-the-callers-info-fromカレー –

答えて

18

...(私はb.foo方法に__file__を渡したくない)のファイル名を取得できます。

frame = inspect.stack()[1] 
module = inspect.getmodule(frame[0]) 
filename = module.__file__ 
1

することができます

import traceback 

を、あなたは、このようなバックトレースを印刷することができます:tracebackモジュールに使用

print traceback.format_exc() 

私はこれを何年も使用していませんが、これはあなたを始めるのに十分なはずです。

関連する問題