إدارة الوقت والتاريخ (Datetime): تسجيل وقت تنفيذ السكربتات بدقة


إدارة الوقت والتاريخ (Datetime): تسجيل وقت تنفيذ السكربتات بدقة

سنتعلم اليوم كيفية استخدام وحدة datetime في بايثون لتسجيل وقت بدء وانتهاء تنفيذ السكربتات بدقة، مما يساعد في قياس الأداء وتتبع العمليات.

الخطوة 1: استيراد الوحدات الضرورية وتسجيل وقت البدء

نبدأ باستيراد وحدة datetime من مكتبة datetime القياسية في بايثون، ثم نستخدم الدالة datetime.now() لتسجيل الوقت الحالي كبداية لتنفيذ السكربت.

from datetime import datetime
import time # سنحتاجها لاحقاً لمحاكاة عمل

# تسجيل وقت البدء قبل أي عمليات
start_time = datetime.now()
print(f"وقت بدء تنفيذ السكربت: {start_time}")

ملاحظة تقنية: استخدام datetime.now() يوفر الوقت الحالي بالثواني الدقيقة (microsecond)، وهو مثالي لتتبع الأداء بدقة عالية.

الخطوة 2: محاكاة عمل السكربت وإضافة تأخير

لإظهار كيفية حساب مدة التنفيذ، سنقوم بمحاكاة بعض العمليات التي تستغرق وقتاً. سنستخدم الدالة time.sleep() من وحدة time لإضافة تأخير مصطنع.

# ... الكود السابق ...

print("السكربت يقوم ببعض العمليات الهامة...")
# محاكاة عمل يستغرق 2.5 ثانية
time.sleep(2.5)
print("العمليات الهامة اكتملت.")

ملاحظة تقنية: في التطبيقات الحقيقية، بدلاً من time.sleep()، سيكون لديك استدعاءات لقواعد بيانات، عمليات معالجة بيانات، طلبات API، أو أي مهام أخرى تستغرق وقتاً.

الخطوة 3: تسجيل وقت الانتهاء وحساب المدة الإجمالية

بعد اكتمال العمليات، نسجل الوقت الحالي مرة أخرى باستخدام datetime.now() كـ end_time. ثم نقوم بطرح start_time من end_time للحصول على كائن timedelta يمثل مدة التنفيذ.

# ... الكود السابق ...

# تسجيل وقت الانتهاء بعد اكتمال جميع العمليات
end_time = datetime.now()
print(f"وقت انتهاء تنفيذ السكربت: {end_time}")

# حساب المدة الإجمالية للتنفيذ
execution_time = end_time - start_time

# طباعة المدة الإجمالية
print(f"إجمالي وقت تنفيذ السكربت: {execution_time}")

الكود النهائي الكامل

هذا هو السكربت كاملاً، والذي يجمع جميع الخطوات السابقة لتسجيل وحساب مدة تنفيذ السكربت.

from datetime import datetime
import time

# الخطوة 1: تسجيل وقت البدء
start_time = datetime.now()
print(f"وقت بدء تنفيذ السكربت: {start_time}")

# الخطوة 2: محاكاة عمل السكربت
print("السكربت يقوم ببعض العمليات الهامة...")
time.sleep(2.5) # تأخير لمدة 2.5 ثانية لمحاكاة العمل
print("العمليات الهامة اكتملت.")

# الخطوة 3: تسجيل وقت الانتهاء وحساب المدة
end_time = datetime.now()
print(f"وقت انتهاء تنفيذ السكربت: {end_time}")

execution_time = end_time - start_time # حساب الفرق بين وقت البدء والانتهاء

# طباعة النتيجة النهائية
print(f"إجمالي وقت تنفيذ السكربت: {execution_time}")

النتيجة المتوقعة

عند تشغيل السكربت، ستشاهد مخرجات مشابهة لما يلي (التواريخ والأوقات ستختلف بناءً على وقت التشغيل، ومدة التنفيذ ستكون قريبة من 2.5 ثانية):

وقت بدء تنفيذ السكربت: 2023-10-27 10:30:05.123456
السكربت يقوم ببعض العمليات الهامة...
العمليات الهامة اكتملت.
وقت انتهاء تنفيذ السكربت: 2023-10-27 10:30:07.623456
إجمالي وقت تنفيذ السكربت: 0:00:02.500000