__file__のように、プログラムに関連付けられたデータへのパスを提供するために組み込みグローバルに依存するプログラムがありpath_to_stuff = os.path.join(os.path.dirname(__file__),'stuff')ます。問題は、これを で実行するとpython -m cProfile myprog、 の値が__file__パスではmyprogなく (どうやら) cProfile モジュールへのパスになることです。
マニュアルを読み、ここで検索しましたが、これについては何もわかりません。(a) cProfile をそのままにしておく__file__か、(b) 実行時に cProfile で実行していることを認識して、この特別なケースでリテラル文字列でパスを初期化できるようにする方法はありますか?
編集:または、(c)、常にprogram.pyのすぐ隣にあるディレクトリを見つけるより良い方法はありますか?