BREAKING NEWS
🚀 Kaweesha launched the new AI Tech Blog! 💻 Python & Java Tutorials are now live. 🎮 Game Development Guide: Building 2D Games with Godot. 🌐 Web Hosting secrets revealed - Check the latest post!

Python Sinhala - Part 08: පරිගණකයේ ෆයිල්ස් පිස්සුවෙන් වගේ පාලනය කරමු! (File Handling & OS) 📂🤖

Python File Handling and OS Automation deep explanation Sinhala Tutorial Part 08

මෙච්චර කල් අපි කෝඩ් ලියද්දි හැමදේම සිද්ධ වුනේ RAM (Random Access Memory) එක ඇතුලේ. ඒ කියන්නේ, අපි Program එක Run කරනකම් විතරයි Data තියෙන්නේ. ලයිට් ගියොත් හරි, සොෆ්ට්වෙයාර් එක වැහුවොත් හරි බඩුම තමයි! 😱

හැබැයි ඇත්ත ලෝකයේ සොෆ්ට්වෙයාර් එහෙම නෑනේ. අපි Type කරන දේවල් Save වෙන්න ඕනේ. අන්න ඒකට තමයි අපි File Handling ඉගෙන ගන්නේ. අද අපි බලමු කොහොමද Python වලින් Hard Disk එකේ ෆයිල් හදන්නේ, කියවන්නේ සහ මකන්නේ කියලා.

1. File එකක් විවෘත කිරීම (The `open` Function) 🔑

Python වල ෆයිල් එකක් එක්ක වැඩ කරන්න කලින්, අපි ඒක open() කරන්න ඕනේ. මේකෙදි අපිට ප්‍රධාන Modes (ක්‍රම) 3ක් තියෙනවා.

File Modes 🛠️
  • 'r' (Read): කියවන්න විතරයි (ෆයිල් එක තියෙන්නම ඕනේ).
  • 'w' (Write): ලියන්න (පරණ දේවල් ඔක්කොම මැකෙනවා!). ෆයිල් එකක් නැත්නම් අලුතෙන් හදනවා.
  • 'a' (Append): අගට එකතු කරන්න (පරණ දේවල් මැකෙන්නේ නෑ).

Safe Way: `with open` (වැඩ්ඩන්ගේ ක්‍රමය) 😎

සාමාන්‍යයෙන් ෆයිල් එකක් ඇරියම close() කරන්න මතක තියාගන්න ඕනේ. නැත්නම් ෆයිල් එක Corrupt වෙන්න පුළුවන්. හැබැයි with දැම්මම Python විසින්ම වැඩේ ඉවර වුන ගමන් ෆයිල් එක වහලා දානවා.

2. File එකක් ලියමු (Write & Append) ✍️

මුලින්ම අපි බලමු කොහොමද අලුතෙන් ෆයිල් එකක් හදලා ඒකට විස්තර ලියන්නේ කියලා.

# 1. 'w' මගින් අලුත් ෆයිල් එකක් හදමු (කලින් තිබ්බොත් මැකෙනවා!)
with open("my_diary.txt", "w", encoding="utf-8") as file:
    file.write("අද දවස මාරම සතුටුයි! 😊\n")
    file.write("මම Python File Handling ඉගෙන ගත්තා.\n")

print("✅ File එක හැදුවා!")
⚠️ සිංහල අවුල්ද?
ඔයා සිංහල අකුරු ලියනවා නම්, අනිවාර්යයෙන්ම encoding="utf-8" කියන කෑල්ල දාන්න ඕනේ. නැත්නම් අකුරු පෙන්නන්නේ කොටු කොටු විදියට.

දැන් අපි බලමු තියෙන ෆයිල් එකක අගට තව වාක්‍යයක් එකතු කරන හැටි (Append).

# 2. 'a' මගින් අගට එකතු කරමු
with open("my_diary.txt", "a", encoding="utf-8") as file:
    file.write("මේක මම පස්සේ එකතු කරපු වාක්‍යයක්.\n")

print("✅ අලුත් කොටස එකතු කළා!")

3. File එකක් කියවමු (Read) 📖

දැන් අපි ලියපු දේ පරිගණකය ලවා කියවගමු.

try:
    with open("my_diary.txt", "r", encoding="utf-8") as file:
        content = file.read()
        print("📜 ෆයිල් එකේ තියෙන්නේ:")
        print(content)

except FileNotFoundError:
    print("⚠️ අයියෝ! එහෙම ෆයිල් එකක් නෑනේ.")

4. OS Automation - පරිගණකය පාලනය කරමු 🤖

දැන් තමයි හොඳම හරිය. Python වල තියෙන os Module එකෙන් පුළුවන් ඔයාගේ වින්ඩෝස් එකේ ෆෝල්ඩර් හදන්න, ෆයිල් මකන්න, නම වෙනස් කරන්න වගේ ඕන දෙයක් කරන්න.

Magic Commands ✨
  • os.listdir() : ෆෝල්ඩර් එකේ තියෙන ෆයිල් ඔක්කොම ලිස්ට් එකක් විදියට ගන්නවා.
  • os.mkdir("NewFolder") : අලුත් ෆෝල්ඩර් එකක් හදනවා.
  • os.remove("file.txt") : ෆයිල් එකක් මකලා දානවා (ආයේ ගන්න බෑ!).
  • os.rename("old.txt", "new.txt") : නම වෙනස් කරනවා.
import os

# Desktop එකේ තියෙන ෆයිල් ටික බලාගන්න
files = os.listdir()
print(files)

Mega Project: Desktop Cleaner 🧹📂

ඔයාගේ Downloads ෆෝල්ඩර් එක පිස්සු වගේද? Images, Videos, Documents ඔක්කොම එක ගොඩේ ද? අපි Python Script එකක් ලියමු ඒ ඔක්කොම තත්පරෙන් අදාළ ෆෝල්ඩර් වලට දාන්න.

මේක තමයි ඔයාගේ පළවෙනි Automation Bot එක.

💻 The File Organizer Code

මෙම කෝඩ් එක ඔබගේ Python File එක තියෙන තැන ෆෝල්ඩර් සාදා ෆයිල්ස් වර්ග කරයි.

import os
import shutil # File එහා මෙහා කරන්න (Move) උදව් වෙන කෙනා

# 1. අපි හදන්න ඕන ෆෝල්ඩර් වර්ග
extensions = {
    "Images": [".jpg", ".png", ".jpeg", ".gif"],
    "Videos": [".mp4", ".mkv", ".mov"],
    "Docs": [".pdf", ".docx", ".txt"],
    "Music": [".mp3", ".wav"]
}

print("🧹 Cleaning up...")

# 2. මේ තැන තියෙන හැම ෆයිල් එකක්ම ගන්න
files = os.listdir()

for file in files:
    # Folder එකක් නම් අතාරින්න (Files විතරයි ඕනේ)
    if os.path.isdir(file):
        continue

    # 3. ෆයිල් එකේ වර්ගය හොයාගන්න
    filename, ext = os.path.splitext(file)
    # ext කියන්නේ .jpg වගේ කෑල්ල

    for folder_name, ext_list in extensions.items():
        if ext.lower() in ext_list:
            # Folder එක නැත්නම් හදන්න
            if not os.path.exists(folder_name):
                os.mkdir(folder_name)

            # File එක Move කරන්න
            shutil.move(file, folder_name + "/" + file)
            print(f"✅ Moved {file} to {folder_name}")
            break

print("🎉 වැඩේ ගොඩ! ඔක්කොම අස් කළා.")

අවසාන වශයෙන්... 🏁

අද ඔයා හැදුවේ නිකන්ම සොෆ්ට්වෙයාර් එකක් නෙමෙයි, ඔයාගේ එදිනෙදා වැඩ ලේසි කරන Automation Tool එකක්. මේ දැනුම පාවිච්චි කරලා ඔයාට පුළුවන් Virus Guard එකක් වුනත් හදන්න (ෆයිල්ස් ස්කෑන් කරලා මකන). පරිස්සමෙන් පාවිච්චි කරන්න! 😉

ඊළඟ කොටසින්: ඩේටා සයන්ස් වලට අත තියමු! (Introduction to NumPy & Pandas) 📊📈
දිගටම KP Tech Gear සමඟ රැඳී සිටින්න! 👇

Author

About

Tech enthusiast, Python/Java Developer, and Gamer. Sharing knowledge about coding and modern technology.

Discussion

Kaweesha AI ×
Hello Kaweesha! I am ready to help with Python, Java, or Hosting queries. 🤖