بناء برنامج Console احترافي في Python | تنظيم المشاريع

14:00 دقائق مجاني
تعلّم بناء برنامج Python احترافي باستخدام ملفات متعددة وتنظيم الكود وتقسيمه بشكل صحيح

هنا ننتقل من “ملف واحد” إلى “مشروع” حقيقي: ملفات متعددة + تنظيم + فصل مسؤوليات. سنبني نموذج برنامج “مدير مهام” مبسط.

هيكلية مشروع مقترحة


project/
  main.py
  tasks.py
  storage.py
  utils.py

كل ملف مسؤول عن جزء محدد.

tasks.py: منطق المهام


tasks = []

def add_task(title):
    tasks.append({"title": title, "done": False})

def list_tasks():
    return tasks

storage.py: حفظ واسترجاع JSON


import json

def save(path, data):
    with open(path, "w", encoding="utf-8") as f:
        json.dump(data, f, ensure_ascii=False, indent=2)

def load(path):
    try:
        with open(path, "r", encoding="utf-8") as f:
            return json.load(f)
    except FileNotFoundError:
        return []

main.py: واجهة المستخدم (Console)


from tasks import add_task, list_tasks, tasks
from storage import save, load

DATA_FILE = "tasks.json"
tasks.extend(load(DATA_FILE))

while True:
    print("1) إضافة مهمة")
    print("2) عرض المهام")
    print("3) خروج")
    choice = input("اختر: ")

    if choice == "1":
        title = input("عنوان المهمة: ")
        add_task(title)
        save(DATA_FILE, tasks)
    elif choice == "2":
        for i, t in enumerate(list_tasks(), start=1):
            print(i, "-", t["title"], "(تم)" if t["done"] else "")
    elif choice == "3":
        break
    else:
        print("اختيار غير صحيح")

ماذا استفدنا؟

  • تقسيم المشروع لملفات
  • فصل المنطق عن التخزين
  • حفظ البيانات في JSON

ماذا بعد هذا الدرس؟

الدرس القادم: الوقت والتاريخ (datetime)

مفيد جدًا للتطبيقات، التقارير، والجدولة.