اقرأ الملفات واكتبها بنظافة باستخدام with، وتبادل بيانات JSON، ونظّم شيفرتك في وحدات قابلة للاستيراد.
افتح هذا الدرس في Kodokonقراءة الملفات وكتابتها هما الخبز اليومي لأيّ برنامج حقيقي: التصديرات، والسجلات، والإعدادات. تفتح الكلمة المفتاحية with الملف وتضمن إغلاقه، حتى لو حدث خطأ في منتصف الكتلة. إنها الطريقة الاحترافية الوحيدة لفتح ملف: فمن دونها، قد يُفسد close() منسيّ البيانات أو يستنزف موارد النظام.
lines = ["alpha", "beta", "gamma"]
with open("notes.txt", "w", encoding="utf-8") as f:
for line in lines:
f.write(line + "\n")
with open("notes.txt", encoding="utf-8") as f:
content = f.read()
print(content)بالنسبة إلى البيانات المهيكلة، لا تخترع صيغتك الخاصة: تحوّل الوحدة json من المكتبة القياسية القواميس والقوائم إلى نص، والعكس. إنها صيغة التبادل العالمية بين البرامج وواجهات API وملفات الإعدادات.
import json
config = {"debug": True, "retries": 3}
with open("config.json", "w", encoding="utf-8") as f:
json.dump(config, f, indent=2)
with open("config.json", encoding="utf-8") as f:
loaded = json.load(f)
print(loaded["retries"]) # 3إن الوحدة ليست إلا ملف .py: يحمّل import billing الملف billing.py وينفّذ محتواه مرة واحدة فقط. نظّم شيفرتك بحسب المسؤولية - وحدة للفوترة، وأخرى للتخزين - واحتفظ بتعليمات import في أعلى الملف. ويميّز الاختبار if __name__ == "__main__" بين حالتين: عند التشغيل المباشر، ينفّذ الملف هذه الكتلة؛ وعند الاستيراد، يتجاهلها.
def compute_total(prices):
return round(sum(prices), 2)
def main():
print(compute_total([9.99, 4.5, 20.0]))
if __name__ == "__main__":
main()python billing.py