بناء برنامج 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)
مفيد جدًا للتطبيقات، التقارير، والجدولة.