疑問
Jupyter Notebookで以下のコードを実行してみると...
print(os.path.dirname(__file__))
エラーがでる。
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-8-755a91d3a9c3> in <module>()
3 > NameError: name '__file__' is not defined
4 '''
----> 5 print(os.path.dirname(__file__))
NameError: name '__file__' is not defined
どうしてだ...?
原因
JupyterではIPython(REPL)からコードを実行しているが、この環境下だと特殊グローバル変数 __file__
は設定されないらしい。
解決
代わりに以下のコードで現在のipynbの絶対パスを取得する。
os.path.abspath('')