Python: المكتبة القياسية: أساسيات (ج.1)

آخر تحديث: 2026-09-22

واحدة من أعظم ميزات بايثون هي "البطاريات مشمولة" — مجموعة كاملة من المكتبات القياسية تأتي مع كل تثبيت بايثون. هذا الدرس يغطي أربعاً من أكثر الوحدات استخداماً: random, time, sys, و os. حتى تعلم أشهر الدوال من كل منها سيساعدك في حل العديد من المشكلات الواقعية.


دوال مدمجة ذات صلة:exit()

1. random — الأرقام العشوائية

PYTHON
import random

# رقم عشري عشوائي [0, 1)
print(random.random())              # 0.3745...

# عدد صحيح عشوائي [a, b] (شامل)
print(random.randint(1, 10))        # عدد صحيح عشوائي بين 1 و 10

# اختيار عشوائي
fruits = ["apple", "banana", "orange", "grape"]
print(random.choice(fruits))        # اختر واحداً عشوائياً

# عينة عشوائية (بدون استبدال)
print(random.sample(fruits, 2))     # اختر 2 عشوائياً

# خلط الترتيب
cards = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random.shuffle(cards)
print(cards)                        # الترتيب مخلوط

▶ مثال: برنامج اليانصيب (الصعوبة ⭐)

▶ جرّب الكود

الناتج:

TEXT 📖 للعرض فقط
# Executed successfully


2. time — التعامل مع الوقت

PYTHON
import time

# الطابع الزمني الحالي (ثوانٍ منذ 1970-01-01)
print(time.time())                  # 1758588800.123

# إيقاف التنفيذ (ثوانٍ)
print("Start")
time.sleep(1)                       # أوقف لثانية واحدة
print("1 second later")

# تنسيق الوقت الحالي
print(time.strftime("%Y-%m-%d %H:%M:%S"))       # 2026-06-23 16:00:00

▶ مثال: الموقت (الصعوبة ⭐)

▶ جرّب الكود

الناتج:

TEXT 📖 للعرض فقط
\r⏰ Time


3. sys — التفاعل مع النظام

PYTHON
import sys

# إصدار بايثون
print(sys.version)                  # 3.13.0 ...

# وسائط سطر الأوامر (عند تشغيل python script.py a b c)
print(sys.argv)                     # ['script.py', 'a', 'b', 'c']

# إنهاء البرنامج
# sys.exit(0)                       # خروج عادي

# الإدخال القياسي
# line = sys.stdin.readline()       # اقرأ سطراً واحداً من الإدخال

▶ مثال: آلة حاسبة لسطر الأوامر (الصعوبة ⭐⭐)

▶ جرّب الكود

الناتج:

TEXT 📖 للعرض فقط
Usage: python calculator.py num1 operator num2
Example: python calculator.py 3 + 5
Error: cannot divide by zero


4. os — نظام التشغيل

PYTHON
import os

# دليل العمل الحالي
print(os.getcwd())                  # D:\project

# تغيير الدليل
# os.chdir("/tmp")

# اعرض محتويات الدليل
for item in os.listdir("."):
    print(item)

# إنشاء دليل
# os.mkdir("new_folder")

# تحقق من المسارات
print(os.path.exists("test.txt"))   # True
print(os.path.isfile("test.txt"))   # True
print(os.path.isdir("data"))        # True

# دمج المسارات
path = os.path.join("data", "files", "test.txt")
print(path)                         # data/files/test.txt

▶ مثال: إعادة تسمية الملفات دفعة واحدة (الصعوبة ⭐⭐)

▶ جرّب الكود

الناتج:

TEXT 📖 للعرض فقط
Batch rename example (display only, not executed):
Iterate all .txt files, rename to prefix_001.txt format


5. حالات الاستخدام الشائعة



دوال مدمجة ذات صلة:exit()

❓ أسئلة شائعة

س هل random مناسب للأرقام العشوائية التشفيرية؟
ج لا. random يستخدم PRNG (مولد أرقام شبه عشوائية)، وهو قابل للتنبؤ. للأرقام العشوائية الآمنة تشفيرياً (مثل إنشاء كلمات المرور والرموز)، استخدم وحدة secrets.
س time.sleep() يمنع البرنامج بأكمله. كيف أفعل تأخيراً غير مانع؟
ج sleep() يمنع الخيط الحالي. للتأخيرات غير المانعة، استخدم تعدد الخيوط أو أطر العمل غير المتزامنة مثل asyncio. للسيناريوهات البسيطة، sleep() كافٍ.
س هل يجب استخدام os أم pathlib؟
ج بايثون 3.4+ توصي بـ pathlib (أكثر كائنية التوجه، أكثر بديهية)، لكن os أكثر انخفاضاً وأشمل. استخدم pathlib للمشاريع الجديدة؛ استخدم os لاستدعاءات النظام منخفضة المستوى.

📖 ملخص


📝 تمارين

  1. أساسي (الصعوبة ⭐): اكتب برنامجاً يُنشئ 10 أعداداً صحيحة عشوائية بين 1 و 100، ويُخرجها ومتوسطها.

  2. متوسط (الصعوبة ⭐⭐): اكتب دالة توليد كلمة مرور generate_password(length=8) تنشئ كلمات مرور عشوائية تحتوي على أحرف كبيرة وصغيرة وأرقام. تلميح: استخدم string.ascii_letters + string.digits كمجموعة الأحرف؛ استخدم random.choice() لاختيار الأحرف.

  3. تحدي (الصعوبة ⭐⭐⭐): اكتب "أداة إحصائيات المجلد." بالنظر إلى مسار دليل (مُمرّر عبر sys.argv)، احسب عدد الملفات والحجم الإجمالي لكل نوع ملف (امتداد). تلميح: استخدم os.listdir() للتكرار، os.path.splitext() للامتداد، os.path.getsize() لحجم الملف.

Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%