Python 3
Çalıştırılan komut dosyasının dizini için:
import pathlib
pathlib.Path(__file__).parent.absolute()
Geçerli çalışma dizini için:
import pathlib
pathlib.Path().absolute()
Python 2 ve 3
Çalıştırılan komut dosyasının dizini için:
import os
os.path.dirname(os.path.abspath(__file__))
Geçerli çalışma dizinini kastediyorsanız:
import os
os.path.abspath(os.getcwd())
Önce ve sonra file
sadece bir değil iki alt çizgi olduğunu unutmayın .
Ayrıca, etkileşimli olarak çalışıyorsanız veya bir dosyadan başka bir şeyden kod yüklediyseniz (ör. Bir veritabanı veya çevrimiçi kaynak), __file__
"geçerli dosya" kavramı olmadığından ayarlanamayabileceğini unutmayın. Yukarıdaki yanıt, bir dosyada bulunan bir python betiği çalıştırma en yaygın senaryosunu varsayar.
Referanslar
- python belgelerinde pathlib .
- o. yol 2.7 , o. yol 3.8
- os.getcwd 2.7 , os.getcwd 3.8
- __file__ değişkeni ne anlama geliyor / ne yapıyor?