__file__ ist in Jupyter Notebook nicht vorhanden

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

Ich arbeite auf einem Jupyter Notebook-Server (v4.2.2) mit Python 3.4 .2 und ich möchte den globalen Namen __file__ verwenden, da das Notebook von anderen Benutzern geklont wird und ich in einem Abschnitt Folgendes ausführen muss:

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( Pfad): Rückgabepfad sonst: Rückgabe os.path.join(os.path.dirname(__file__), path) 

Der __getAbsPath(self, path) prüft, ob ein path-Parameter ein relativer oder absoluter Pfad ist und gibt die absolute Version von path zurück, damit ich den zurückgegebenen path später sicher verwenden kann.

Aber ich bekomme die Fehlermeldung

NameError: name "__file__" is not defined

I gesucht für diesen Fehler online und fand die "Lösung", dass ich besser sys.argv[0] verwenden sollte, aber print(sys.argv[0]) zurückgibt

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

Aber der richtige Notebook-Speicherort sollte B. /home/ubuntu/notebooks/ sein.

Danke für die Referenz Wie erhalte ich den aktuellen IPython-Notebook-Namen von Martijn Pieters (Kommentare) die letzte Antwort (nicht akzeptiert) passt perfekt zu meinem benötigt:

print(os.getcwd())

/home/ubuntu/notebooks