کار با فایل در جولیا (مفهومی)
خواندن و نوشتن فایل با open — در مرورگر محدود است اما مفهوم را یاد بگیرید
کار با فایل
در جولیا با تابع open فایل میخوانیم و مینویسیم:
نکته مهم: کار با فایل در ویرایشگر آنلاین (مرورگر) کار نمیکند — این مبحث برای اجرای محلی است. اما مفهوم را یاد بگیرید چون در پروژههای واقعی ضروری است!
نوشتن در فایل
# روش ۱: با do (پیشنهادی — فایل خودکار بسته میشود)
open("data.txt", "w") do f
println(f, "خط اول")
println(f, "خط دوم")
write(f, "متن بدون خط جدید")
end
# روش ۲: دستی
f = open("data.txt", "w")
println(f, "سلام")
close(f) -- حتماً ببندید!
خواندن فایل
# کل فایل یکجا
content = read("data.txt", String)
println(content)
# خط به خط
open("data.txt") do f
for line in eachline(f)
println("خط: $line")
end
end
# همه خطوط به آرایه
lines = readlines("data.txt")
println(length(lines), " خط")
حالتهای باز کردن
| حالت | معنی |
|---|---|
"r" | خواندن (پیشفرض) |
"w" | نوشتن (پاک میکند!) |
"a" | افزودن به انتها |
"r+" | خواندن + نوشتن |
افزودن به فایل
open("log.txt", "a") do f
println(f, "ورود جدید: $(Dates.now())")
end
مثال: ذخیره و بارگذاری داده
# ذخیره CSV
function saveScores(scores, filename)
open(filename, "w") do f
for (name, score) in scores
println(f, "$name,$score")
end
end
end
# بارگذاری CSV
function loadScores(filename)
scores = Dict{String,Int}()
for line in eachline(filename)
parts = split(line, ",")
scores[parts[1]] = parse(Int, parts[2])
end
return scores
end
data = Dict("علی" => 18, "مریم" => 20)
saveScores(data, "scores.csv")
loaded = loadScores("scores.csv")
println(loaded)
بررسی وجود فایل
if isfile("data.txt")
println("فایل وجود دارد!")
else
println("فایل نیست!")
end
الگوی
open(...) do f ... end بهترین روش است — فایل تضمینی بسته میشود حتی اگر خطا رخ دهد!این مبحث بخشی از دوره آموزش کامل جولیا است.