__file__はJupyterNotebookに存在しません

| | | | | | | | | | | | | | | | | | |

私は、Python3.4を搭載した Jupyter Notebook サーバー(v4.2.2)を使用しています。 .2そしてグローバル名__file __ を使用したいのは、ノートブックが他のユーザーから複製され、1つのセクションで実行する必要があるためです。

  def __init __( self、trainingSamplesFolder = "samples"、maskFolder = "masks"):self.trainingSamplesFolder = self .__ getAbsPath(trainingSamplesFolder)self.maskFolder = self .__ getAbsPath(maskFolder)def __getAbsPath(self、path):if os.path.isabs( path):return path else:return os.path.join(os.path.dirname(__ file __)、path) 

__ getAbsPath(self、path) path パラメータが相対パスか絶対パスかをチェックし、 path の絶対バージョンを返します。したがって、返された pathを後で安全に使用できます。

エラーが発生しました

NameError:name "__ file__"が定義されていません

I検索 このエラーはオンラインで見つかり、 sys.argv [0] を使用したほうがよい「解決策」が見つかりましたが、 print(sys.argv [0])は戻ります

/usr/local/lib/python3.4/dist-packages/ipykernel/__main__.py

ただし、ノートブックの正しい場所は / home / ubuntu / notebooks /になります。

参照していただきありがとうございます現在のIPythonNotebook名をMartijnPietersから取得するにはどうすればよいですか(コメント)最後の回答(受け入れられません)は私の場合に最適です必要なもの:

print(os.getcwd())

/ home / ubuntu / notebooks