__plik__ nie istnieje w notatniku Jupyter

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

Jestem na serwerze Jupyter Notebook (wersja 4.2.2) z Pythonem 3.4 .2 i chcę użyć globalnej nazwy __file__, ponieważ notatnik zostanie sklonowany od innych użytkowników iw jednej sekcji muszę uruchomić:

def __init__( self, trainingSamplesFolder="samples", maskFolder="masks"): self.trainingSamplesFolder = self.__getAbsPath(trainingSamplesFolder) self.maskFolder = self.__getAbsPath(maskFolder) def __getAbsPath(self, path): if os(path.isab) ścieżka): zwróć ścieżkę else: zwróć os.path.join(os.path.dirname(__file__), ścieżka) 

__getAbsPath(self, path) sprawdza, czy parametr path jest ścieżką względną lub bezwzględną i zwraca bezwzględną wersję path. Dzięki temu mogę później bezpiecznie użyć zwróconej ścieżki.

Ale pojawia się błąd

NameError: nazwa "__file__" nie jest zdefiniowana

I szukałem ten błąd online i znalazłem "rozwiązanie", które lepiej użyć sys.argv[0], ale print(sys.argv[0]) zwraca

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

Ale prawidłowa lokalizacja notatnika powinna bądź /home/ubuntu/notebooks/.

Dziękujemy za referencje Jak uzyskać aktualną nazwę notebooka IPython od Martijna Pietersa (komentarze) ostatnia odpowiedź (nie zaakceptowana) pasuje idealnie do mojego potrzeby:

print(os.getcwd())

/home/ubuntu/notebooks