cProfileを使用している場合でも、私のモジュールを知りたい(すべての関数名をリストアップしたい)。どうやってやるの?cProfileの実行中に現在のモジュールを取得する
明確にするために、私自身のモジュールでいくつかのイントロスペクションを使用していますが、-m cProfile
で実行すると、sys.modules[__main__]
は自分のモジュールを返さないことはもちろんです。
、再現modtest.pyを作成するには、次のようにそれを
#!/usr/bin/env python3
import sys
print(sys.modules[__name__])
実行ので:
$ ./modtest.py
<module '__main__' from './modtest.py'>
$ python -m cProfile ./modtest.py
<module 'cProfile' from '...cProfile.py'>
は、どのように私は最後の行はfrom './modtest.py'
を言っていることを得ることができますか?