folder Tahribat.com Forumları
linefolder Python
linefolder Python İle Alt Klasör Listeleme - Yardım



Python İle Alt Klasör Listeleme - Yardım

  1. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    Merhaba

    C:\2018\KlasörA\AltKlasörX

    C:\2018\KlasörB\AltKlasörY

    C:\2019\KlasörC\AltklasörZ

    C:\2019\KlasörC\AltklasörZ\AltAltklasör1

    C:\2019\KlasörC\AltklasörZ\AltAltklasör2

    gibi bir klasör sistemim var.

    Ben öyle bir kod yazayım ki hedef olarak "C:\" verdiğimde sadece en alt klasörleri listelesin istiyorum. Yani sadece üstte yazdığım yolları listeleyecek.

    "C:\2019\KlasörC\" veya "C:\2019\KlasörC\AltklasörZ" veya "C:\2019"  dönmeyecek.

    Örneğe göre dönmesi gereken sonuç:

    C:\2018\KlasörA\AltKlasörX

    C:\2018\KlasörB\AltKlasörY

    C:\2019\KlasörC\AltklasörZ\AltAltklasör1

    C:\2019\KlasörC\AltklasörZ\AltAltklasör2

    --

    Özetle sadece en dip klasörleri listelesin istiyorum. İçinde alt klasör varsa o klasörü listelemesin ama alt klasörlerini versin.

    Umarım anlatabilmişimdir.

    EDİT: sadece en alt klasörlerde dosyalar var. İçinde dosya olan en dip klasörleri bulmak amacım

     

    NoktaliVirgul tarafından 15/Ara/19 21:51 tarihinde düzenlenmiştir

    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
  2. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek

    import os

    path = "F:\\Klasor"

    res = []
    for root,dirs,files in os.walk(path, topdown=True):
    #print(root)
    if len(files) > 0:
    res.append(root)
    for klasor in res:
    print(klasor)

     

    Sanırım bu çözüyor..


    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
  3. KısayolKısayol reportŞikayet pmÖzel Mesaj
    NoktaliVirgul
    NoktaliVirgul's avatar
    Kayıt Tarihi: 02/Temmuz/2007
    Erkek
    import os
    
    path = "F:\\Users\\Birisi\\Desktop\\Resimler"
    mapping = [(path+'\\',''), ('\\','-'), ('.', ''), (' ', '_'), ('İ', 'I') , ('Ğ', 'G') , ('Ü', 'U') , ('Ş', 'S') , ('Ö', 'O') , ('Ç', 'C') ]
    res = []
    for root,dirs,files in os.walk(path, topdown=True):
        if len(files) > 0 :
            if len(files) == 1 and files[0].lower().endswith(('.png', '.jpg', '.jpeg', '.mov', '.mp4')):
                res.append([root,len(files)])
            else:
                if len(files) > 1:
                    res.append([root,len(files)])
    
    for klasor,adet in res:
        isim = klasor
        for k, v in mapping:
                isim = isim.replace(k, v).upper()
        print(klasor,"|",isim,"|",adet, sep="")



    ----

    Verdiğiniz klasörleri tarayıp, içinde png jpg mov mp4 dosyası olan klasörleri listeler, boş klasörleri listelemez. belki biraz amele işi kodlamış olabilirim ama işimi gördü :)

    Verdiği listeden bat dosyası yapıp resimlerimi Google photos'a uplamıştım.


    If my calculations are correct, when this baby hits eighty-eight miles per hour... you"re gonna see some serious shit.
Toplam Hit: 511 Toplam Mesaj: 3
python os.walk