Bnlang ফাইল স্ট্যাটস
ফাইল স্ট্যাটস হলো একটি ফাইল বা ডিরেক্টরির মেটাডেটা — সাইজ, এটি একটি রেগুলার ফাইল না ডিরেক্টরি, এবং সর্বশেষ কখন পরিবর্তিত হয়েছিল।
বিল্ট-ইন io মডিউল io.stat-এর মাধ্যমে এটি এক্সপোজ করে, সাথে কিছু এক-প্রশ্নের হেল্পার।
io.stat — Full Metadata Map
io.stat(path) একটি ম্যাপ ফেরত দেয়, যেখানে এই ফিল্ডগুলো থাকে:
bytes— ফাইল সাইজ বাইটে (সংখ্যা)।mtime— সর্বশেষ পরিবর্তনের সময়, সেকেন্ডে Unix টাইমস্ট্যাম্প হিসেবে (সংখ্যা)।is_dir— পাথ ডিরেক্টরি হলেtrue।is_file— পাথ রেগুলার ফাইল হলেtrue।
import "io" as io;
var s = io.stat("notes.txt");
print("size:", s.bytes, "bytes");
print("is file?", s.is_file);
print("is dir?", s.is_dir);
print("mtime:", s.mtime, "seconds since epoch");
Quick Boolean Checks
হ্যাঁ/না প্রশ্নের জন্য পুরো stat এড়িয়ে ডেডিকেটেড হেল্পার ব্যবহার করুন — পাঠযোগ্যতা ভালো, এবং অপ্রয়োজনীয় মেটাডেটা লোড হয় না।
import "io" as io;
if (io.exists("notes.txt")) {
print("the file is there");
}
if (io.is_file("notes.txt")) {
print("and it's a regular file");
}
if (io.is_dir("data")) {
print("data/ is a directory");
}
Best Practices
- পাথ যদি ভ্যালিড নাও হতে পারে, প্রথমে
io.existsব্যবহার করুন — অনুপস্থিত ফাইলেio.statথ্রো করে। - সাইজ বাইটে রিপোর্ট হয়। KB / MB চাইলে নিজের কোডে কনভার্ট করুন।
mtimeসেকেন্ডে;timeমডিউলের জন্য মিলিসেকেন্ড চাইলে 1000 দিয়ে গুণ করুন।