📁 fs - Dosya Sistemi
File, Directory, Path, Metadata, Permissions
78
function
892
lines
26 KB
Boyut
🚀 Quick Start
import fs
// Dosya işlemleri
fs.dosya_create("test.txt")
fs.dosya_yaz("test.txt", "Merhaba BERK")
let içerik = fs.dosya_oku("test.txt")
fs.dosya_sil("test.txt")
// Dizin işlemleri
fs.dizin_create("yeni_klasör")
let dosyalar = fs.dizin_listele(".")
fs.dizin_sil("yeni_klasör")
// Path işlemleri
let tam_yol = fs.path_join("/home/user", "documents", "file.txt")
let dizin = fs.path_dirname(tam_yol) // "/home/user/documents"
let dosya = fs.path_basename(tam_yol) // "file.txt"
let uzantı = fs.path_extension(tam_yol) // ".txt"
// Metadata
let 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
if fs.var_mı("config.json") do
yazdır("Config dosyası mevcut")
end
📚 function Kategorileri
- Dosya: create, oku, yaz, sil, kopyala, taşı, yeniden_adlandır
- Dizin: create, listele, sil, recursive operations
- Path: join, split, dirname, basename, extension, normalize
- Metadata: boyut, izinler, createma_tarihi, değiştirilme_tarihi
- Kontroller: var_mı, dosya_mı, dizin_mi, sembolik_link_mi
💡 Exampleler
Recursive File Search
import fs, string
function dosya_bul(dizin: str, pattern: str) -> Dizi do
let Resultlar = []
let entries = fs.dizin_listele(dizin)
each entry in entries for do
let tam_yol = fs.path_join(dizin, entry)
let meta = fs.metadata(tam_yol)
if meta.dizin_mi do
// Recursive arama
let alt_Resultlar = dosya_bul(tam_yol, pattern)
Resultlar = Resultlar + alt_Resultlar
end else if string.içerir_mi(entry, pattern) do
Resultlar.ekle(tam_yol)
end
end
return Resultlar
end
// Tüm .berk dosyalarını bul
let berk_dosyaları = dosya_bul(".", ".berk")
each dosya in berk_dosyaları for do
yazdır(dosya)
end
Backup Utility
import fs, time
function yedek_al(kaynak_dizin: str, hedef_dizin: str) do
let zaman_damgası = time.format(time.şimdi(), "%Y%m%d_%H%M%S")
let yedek_adı = "backup_" + zaman_damgası
let yedek_yolu = fs.path_join(hedef_dizin, yedek_adı)
fs.dizin_create(yedek_yolu)
function kopyala_recursive(kaynak: str, hedef: str) do
let entries = fs.dizin_listele(kaynak)
each entry in entries for do
let kaynak_yol = fs.path_join(kaynak, entry)
let hedef_yol = fs.path_join(hedef, entry)
let meta = fs.metadata(kaynak_yol)
if meta.dizin_mi do
fs.dizin_create(hedef_yol)
kopyala_recursive(kaynak_yol, hedef_yol)
end else do
fs.dosya_kopyala(kaynak_yol, hedef_yol)
yazdır("Kopyalandı: " + kaynak_yol)
end
end
end
kopyala_recursive(kaynak_dizin, yedek_yolu)
yazdır("Yedek Oklandı: " + yedek_yolu)
end
yedek_al("./proje", "./yedekler")