__file__, Jupyter Notebook’ta mevcut değil

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

Python 3.4 ile bir Jupyter Notebook sunucusunda (v4.2.2) çalışıyorum .2 ve __file__ genel adını kullanmak istiyorum, çünkü not defteri diğer kullanıcılardan kopyalanacak ve bir bölümde şunu çalıştırmam gerekiyor:

def __init__( self, trainingSamplesFolder="samples", maskFolder="masks"): self.trainingSamplesFolder = self.__getAbsPath(trainingSamplesFolder) self.maskFolder = self.__getAbsPath(maskFolder) def __getAbsPath(self, yol): if os.path. path): dönüş yolu başka: dönüş os.path.join(os.path.dirname(__file__), yol) 

__getAbsPath(self, path) bir path parametresinin göreli mi yoksa mutlak bir yol mu olduğunu kontrol eder ve path'ın mutlak sürümünü döndürür. Böylece, döndürülen path'ı daha sonra güvenle kullanabilirim.

Ancak hatayı alıyorum

Ad Hatası: ad "__file__" tanımlı değil

I arandı bu hatayı çevrimiçi olarak buldum ve sys.argv[0] kullanmam gereken "çözüm"ü buldum, ancak print(sys.argv[0]) döndürür

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

Ancak doğru not defteri konumu /home/ubuntu/notebooks/ olun.

Referans için teşekkürler Geçerli IPython Notebook adını nasıl alabilirim Martijn Pieters'tan (yorumlar) son cevap (kabul edilmedi) benim için mükemmel uyuyor ihtiyaçlar:

print(os.getcwd())

/home/ubuntu/notebooks