Python Os Modülü Dosya Yolu Hatası

Arkadaşlar “os modülü” ile ilgili bir problemim var:

dosya_yolları=[]
    for dosyalar in os.walk(r"C:\python3\seleniumPython"):
        for dosya in dosyalar[2]:
            dosya_yolları.append(os.path.abspath(dosya))

Çıktısı:

C:\python3\yedekleme\geckodriver.exe
C:\python3\yedekleme\geckodriver.log
C:\python3\yedekleme\seleniumAPI.py

Dosyalar bu klasorde “C:\python3\seleniumPython” olmasına rağmen dosyalar “C:\python3\yedekleme” klasöründe görünüyor. Python dosyamı çalıştırdığım dizinde yani.
Bunun sebebi ne olabilir acaba?

os.path.abspath fonksiyonuna verdiğiniz argümandaki dosya'nın kök dizini belirtilmemiş. Mesela cmd’yi açın var olmayan bir dosya için bu fonksiyonu çağırın, o an bulunulan mevcut dizin kullanılarak bir çıktı üretilecektir.

import os

print(os.path.abspath("lgk3klgkl3kglk"))

Çıktı:

/home/tanberk/lgk3klgkl3kglk

Dolayısıyla dosyanın kök dizinini belirtmeniz lazım. Onu da aşağıdaki gibi yapabilirsiniz ve bu durumda da os.path.abspath'i kullanmanıza gerek kalmaz.

import os

for root, dirs, files in os.walk("."):
    for file in files:
        print(os.path.join(root, file))

Cevabınız için çok teşekkür ederim. Problem çözüldü.