📁 fs - Dosya Sistemi

File, Directory, Path, Metadata, Permissions

78
Fonksiyon
892
Satır
26 KB
Boyut

🚀 Hızlı Başlangıç

içe_aktar fs

// Dosya işlemleri
fs.dosya_oluştur("test.txt")
fs.dosya_yaz("test.txt", "Merhaba BERK")
değişken içerik = fs.dosya_oku("test.txt")
fs.dosya_sil("test.txt")

// Dizin işlemleri
fs.dizin_oluştur("yeni_klasör")
değişken dosyalar = fs.dizin_listele(".")
fs.dizin_sil("yeni_klasör")

// Path işlemleri
değişken tam_yol = fs.path_join("/home/user", "documents", "file.txt")
değişken dizin = fs.path_dirname(tam_yol)  // "/home/user/documents"
değişken dosya = fs.path_basename(tam_yol)  // "file.txt"
değişken uzantı = fs.path_extension(tam_yol)  // ".txt"

// Metadata
değişken meta = fs.metadata("config.json")
yazdır("Boyut: " + meta.boyut.yazıya() + " bytes")
yazdır("Dosya mı: " + meta.dosya_mı.yazıya())
yazdır("Dizin mi: " + meta.dizin_mi.yazıya())

// Var mı kontrol
eğer fs.var_mı("config.json") ise yap
    yazdır("Config dosyası mevcut")
son

📚 Fonksiyon Kategorileri

💡 Örnekler

Recursive File Search

içe_aktar fs, string

fonksiyon dosya_bul(dizin: yazı, pattern: yazı) -> Dizi yap
    değişken sonuçlar = []
    değişken entries = fs.dizin_listele(dizin)
    
    her entry içinde entries için yap
        değişken tam_yol = fs.path_join(dizin, entry)
        değişken meta = fs.metadata(tam_yol)
        
        eğer meta.dizin_mi ise yap
            // Recursive arama
            değişken alt_sonuçlar = dosya_bul(tam_yol, pattern)
            sonuçlar = sonuçlar + alt_sonuçlar
        son değilse eğer string.içerir_mi(entry, pattern) ise yap
            sonuçlar.ekle(tam_yol)
        son
    son
    
    dön sonuçlar
son

// Tüm .berk dosyalarını bul
değişken berk_dosyaları = dosya_bul(".", ".berk")
her dosya içinde berk_dosyaları için yap
    yazdır(dosya)
son

Backup Utility

içe_aktar fs, time

fonksiyon yedek_al(kaynak_dizin: yazı, hedef_dizin: yazı) yap
    değişken zaman_damgası = time.format(time.şimdi(), "%Y%m%d_%H%M%S")
    değişken yedek_adı = "backup_" + zaman_damgası
    değişken yedek_yolu = fs.path_join(hedef_dizin, yedek_adı)
    
    fs.dizin_oluştur(yedek_yolu)
    
    fonksiyon kopyala_recursive(kaynak: yazı, hedef: yazı) yap
        değişken entries = fs.dizin_listele(kaynak)
        
        her entry içinde entries için yap
            değişken kaynak_yol = fs.path_join(kaynak, entry)
            değişken hedef_yol = fs.path_join(hedef, entry)
            değişken meta = fs.metadata(kaynak_yol)
            
            eğer meta.dizin_mi ise yap
                fs.dizin_oluştur(hedef_yol)
                kopyala_recursive(kaynak_yol, hedef_yol)
            son değilse yap
                fs.dosya_kopyala(kaynak_yol, hedef_yol)
                yazdır("Kopyalandı: " + kaynak_yol)
            son
        son
    son
    
    kopyala_recursive(kaynak_dizin, yedek_yolu)
    yazdır("Yedek tamamlandı: " + yedek_yolu)
son

yedek_al("./proje", "./yedekler")

← Tüm Modüller