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