__file__ を用いると「スクリプトへの相対パス」を取得できます。
ただ、モジュールが__main__のときはセットされないとのことです。
ただ、モジュールが__main__のときはセットされないとのことです。
よくわからんですが、py2exeした後はメインのスクリプトでは参照することは出来ませんでした。importしたスクリプトでは依然使えます。
つまりこんな感じ。
script main.py
import sub import os print os.path.basename(__file__)
script sub.py
import os print os.path.basename(__file__)
C:\script\library.zip\sub.pyc C:\script\main Traceback (most recent call last): File "renderClient.py", line 638, in <module> File "wx\_core.pyc", line 7819, in __init__ File "wx\_core.pyc", line 7416, in _BootstrapApp File "renderClient.py", line 378, in OnInit NameError: global name '__file__' is not defined
(説明用コードですから実際は動かんと思いますよ)
まぁたしかにexe化しちゃえばもうスクリプトないわけで。
importしたのはlibrary.zip内にまだあるし。
importしたのはlibrary.zip内にまだあるし。
このwikiの更新情報RSS