"mydir/myfile.txt"
gibi bir dosyamız olduğunda python’daki geçerli çalışma dizinine göre dosyanın mutlak yolunu nasıl bulabiliriz? Windows’ta bu dosyaya aşağıdaki şekilde ulaşabiliriz:
"C:/example/cwd/mydir/myfile.txt"
os modülü
os modülünü kullanabiliriz:
>>> import os
>>> os.path.abspath("mydir/myfile.txt")
'C:/example/cwd/mydir/myfile.txt'
Verilen yol zaten mutlak bir yolsa da bu yöntem çalışacaktır:
>>> import os
>>> os.path.abspath("C:/example/cwd/mydir/myfile.txt")
'C:/example/cwd/mydir/myfile.txt'
pathlib
Python 3.4’te tanıtılan pathlib
kitaplığını kullanabiliriz. (Python 2.6 veya 2.7 için de pip install pathlib
aracılığıyla kullanabiliriz.) Belgelere göre bu kitaplığın amacı “… dosya sistemi yollarını ve kullanıcıların onlar üzerinde yaptıkları ortak işlemleri işlemek için basit bir sınıf hiyerarşisi sağlamaktır.”
Windows’da mutlak bir yol elde etmek için:
>>> from pathlib import Path
>>> p = Path("pythonw.exe").resolve()
>>> p
WindowsPath('C:/Python27/pythonw.exe')
>>> str(p)
'C:\\Python27\\pythonw.exe'
UNIX’te:
>>> from pathlib import Path
>>> p = Path("python3.4").resolve()
>>> p
PosixPath('/opt/python3/bin/python3.4')
>>> str(p)
'/opt/python3/bin/python3.4'
Daha fazla bilgi için python resmi dökümanlarına bakabilirsiniz: https://docs.python.org/3/library/pathlib.html