ファイルのパスを指定する際のバグをとる

wxPythonで自作したアプリケーションをGUI画面で操作をするとき、ファイルを開いたり、またはディレクトリを参照したりを繰り返すと、

os.getcwd()

で得られるカレントディレクトリが変わってゆくことがある。そのため、プログラムの内部で

path = os.path.join(os.getcwd(), "data", "example.html")
webbrowser.open(path)

のような事を行おうとすると、example.htmlまでの正しいパスが得られないことが起こる。os.getcwd()の値が変化しているから。つまり、この例だとファイルexample.htmlが開けない。

回避策としては、

アプリケーションを起動したディレクトリを、os.getcwd()で得て、その値を起動直後に記録しておく。
その値でos.path.joinする。

のがたぶん正しい方法だろうと思う。今回はこれで解決した。
分かってしまうと何でもないが、少し悩んだ。