📁 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
- Dosya: oluştur, oku, yaz, sil, kopyala, taşı, yeniden_adlandır
- Dizin: oluştur, listele, sil, recursive operations
- Path: join, split, dirname, basename, extension, normalize
- Metadata: boyut, izinler, oluşturma_tarihi, değiştirilme_tarihi
- Kontroller: var_mı, dosya_mı, dizin_mi, sembolik_link_mi
💡 Ö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")