__file__ не существует в Jupyter Notebook

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

Я использую сервер Jupyter Notebook (v4.2.2) с Python 3.4. .2 и я хочу использовать глобальное имя __file__, потому что блокнот будет клонирован от других пользователей и в одном разделе я должен запустить:

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 os.path.join(os.path.dirname(__file__), path) 

The __getAbsPath(self, path) проверяет, является ли параметр path относительным или абсолютным путем, и возвращает абсолютную версию path, поэтому я могу безопасно использовать возвращенный path позже.

Но я получаю сообщение об ошибке

NameError: имя "__file__" не определено

Я искал эту ошибку в Интернете и нашел «решение», что мне лучше использовать sys.argv[0], но print(sys.argv[0]) возвращает

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

Но правильное расположение блокнота должно быть /home/ubuntu/notebooks/.

Спасибо за ссылку Как мне получить текущее имя блокнота IPython от Martijn Pieters (комментарии), последний ответ (не принят) идеально подходит для моего требуется:

print(os.getcwd())

/home/ubuntu/notebooks