الملفات ومعالجة الأخطاء 📁
في هذا الدرس ستتعلم كيفية التعامل مع الملفات ومعالجة الأخطاء بشكل احترافي.
أنماط فتح الملفات
'r' — قراءة (الافتراضي)
'w' — كتابة (يمسح المحتوى القديم)
'a' — إلحاق (يضيف في النهاية)
'x' — إنشاء جديد (خطأ إذا موجود)
معالجة الأخطاء
try — حاول تنفيذ الكود
except — تعامل مع الخطأ
else — نُفّذ إذا لم يحدث خطأ
finally — نُفّذ دائماً
تمرين
اكتب دالة safe_convert(value, to_type) تحاول تحويل قيمة لنوع معين وتعيد None إذا فشل التحويل.
💡 تلميح: استخدم try/except حول عملية التحويل.
def safe_convert(value, to_type):
try:
if to_type == "int":
return int(value)
elif to_type == "float":
return float(value)
elif to_type == "str":
return str(value)
else:
return None
except (ValueError, TypeError):
return None
tests = [("42", "int"), ("3.14", "float"), ("hello", "int"), (True, "str")]
for val, t in tests:
result = safe_convert(val, t)
status = "✅" if result is not None else "❌"
print(f" {status} {val!r} → {t}: {result}")