📁 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

💡 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")

← All Modules