جاري التحميل...

مكتبة بايثون القياسية

مكتبة بايثون القياسية هي مجموعة شاملة من الوحدات والحزم المدمجة مع لغة بايثون، توفر أدوات جاهزة لمجموعة واسعة من المهام مثل التعامل مع الملفات، معالجة البيانات، الشبكات، العمليات النظامية، وأكثر. تعتبر هذه المكتبة أساسية لتطوير الخلفيات لأنها تمكن المطورين من تنفيذ وظائف معقدة دون الحاجة إلى الاعتماد على مكتبات خارجية، مما يقلل من وقت التطوير ويزيد من قابلية نقل الشيفرة بين الأنظمة. يمكن استخدام المكتبة للوصول إلى دوال مجربة جيدًا، اتباع أفضل الممارسات، والحفاظ على جودة الشيفرة عبر المشاريع. تشمل المفاهيم الرئيسية الوحدات (Modules) التي تقدم وظائف محددة، الحزم (Packages) التي تجمع وحدات متعلقة، هياكل البيانات المدمجة مثل القوائم والقواميس والمجموعات، الخوارزميات، ومبادئ البرمجة الكائنية. من خلال دراسة مكتبة بايثون القياسية، سيتعلم المطورون كيفية استخدام الوحدات بفعالية، التعامل مع الأخطاء، تحسين الأداء، ودمج عدة مكتبات لإنشاء أنظمة قابلة للصيانة وذات كفاءة عالية في بيئات الإنتاج.

في سيناريو عملي لتطوير الخلفية، قد يحتاج المطور إلى معالجة ملفات السجلات لاستخلاص معلومات مهمة. باستخدام مكتبة بايثون القياسية، يمكن قراءة الملفات، التعامل مع الاستثناءات، معالجة البيانات، توليد الطوابع الزمنية، وإجراء التسلسل بصيغة JSON للتخزين أو التحليل لاحقًا. يوضح هذا الاستخدام دمج عدة وحدات مثل os لإدارة الملفات، datetime لإنشاء الطوابع الزمنية، re للبحث عن أنماط محددة، collections لتنظيم البيانات بكفاءة، وjson لتحويل النتائج إلى صيغة قابلة للتبادل. كل وحدة تلعب دورًا محددًا في حل المشكلة. هذا النمط يعكس طريقة شائعة في تطوير الخلفية: دمج عدة وحدات قياسية لتنفيذ عمليات معالجة البيانات بشكل آمن وفعال. فهم هذه الأنماط يمكن المطورين من تحسين الأداء، كتابة شيفرة منظمة، وتطبيق مفاهيم بايثون المتقدمة في بيئات الإنتاج الحقيقية.

Example

python
PYTHON Code
import os
import datetime
import json
import re
from collections import Counter
from math import ceil

# تحديد مسار ملف السجل

log_file = "server.log"

# إنشاء اسم ملف احتياطي مع الطابع الزمني

backup_file = f"backup_{datetime.datetime.now().strftime('%Y%m%d_%H%M%S')}.log"

try:
\# قراءة أسطر الملف
with open(log_file, 'r') as f:
lines = f.readlines()

# فلترة الأسطر التي تحتوي على أخطاء باستخدام regex
error_lines = [line for line in lines if re.search(r'ERROR', line)]

# عد كل نوع خطأ
error_count = Counter([line.split()[1] for line in error_lines])

# تسلسل ملخص الأخطاء بصيغة JSON
summary_file = "error_summary.json"
with open(summary_file, 'w') as f:
json.dump(error_count, f, indent=4)

# إنشاء نسخة احتياطية للملف الأصلي
os.rename(log_file, backup_file)

# حساب عدد النسخ الاحتياطية المطلوبة إذا كان الملف كبيرًا
backups_needed = ceil(len(lines) / 1000)
print(f"النسخ الاحتياطية المطلوبة للملفات الكبيرة: {backups_needed}")

except FileNotFoundError as e:
print(f"خطأ في الملف: {e}")
except Exception as e:
print(f"خطأ غير متوقع: {e}")

📊 Comprehensive Reference

Module Function Description Syntax Example Notes
os rename إعادة تسمية الملفات os.rename(src, dst) os.rename("old.txt", "new\.txt") إدارة الملفات
sys exit إيقاف تشغيل المفسر sys.exit(\[status]) sys.exit(1) إيقاف البرنامج
math ceil التقريب للأعلى math.ceil(x) math.ceil(3.4) عمليات رياضية
math sqrt الجذر التربيعي math.sqrt(x) math.sqrt(16) حسابات رقمية
datetime now التاريخ والوقت الحالي datetime.datetime.now() datetime.datetime.now() إنشاء طوابع زمنية
datetime strftime تنسيق التاريخ والوقت datetime.strftime(format) datetime.datetime.now().strftime("%Y-%m-%d") تحويل للتنسيق النصي
re search البحث باستخدام التعبيرات النمطية re.search(pattern, string) re.search(r"ERROR", "log") مطابقة الأنماط
re sub استبدال النصوص re.sub(pattern, repl, string) re.sub(r"\d+", "", "abc123") تنظيف البيانات
json dump كتابة JSON للملفات json.dump(obj, fp) json.dump(data, f) تبادل البيانات
json load قراءة JSON من الملفات json.load(fp) data=json.load(f) استرجاع البيانات
collections Counter عد العناصر collections.Counter(iterable) Counter(\["a","b","a"]) تحليل التكرار
itertools chain ربط التكرارات itertools.chain(*iterables) list(chain(\[1,2],\[3,4])) تكرار فعال
functools reduce تقليل العناصر functools.reduce(func, seq) reduce(lambda x,y:x+y,\[1,2,3]) برمجة وظيفية
random randint أعداد صحيحة عشوائية random.randint(a,b) random.randint(1,10) اختبارات ومحاكاة
heapq heappush إضافة إلى الهيب heapq.heappush(heap,item) heappush(heap,5) إدارة الطابور ذو الأولوية
heapq heappop إزالة من الهيب heapq.heappop(heap) heappop(heap) إزالة أصغر عنصر
threading Thread إنشاء خيط threading.Thread(target=func) threading.Thread(target=my_func) تنفيذ متزامن
subprocess run تشغيل أوامر خارجية subprocess.run(args) subprocess.run(\["ls","-l"]) استدعاء النظام
time sleep تأخير التنفيذ time.sleep(seconds) time.sleep(2) إدارة الوقت
pathlib Path كائن مسار الملفات Path("file.txt") Path("data.txt").exists() إدارة المسارات
uuid uuid4 توليد معرف فريد uuid.uuid4() uuid.uuid4() معرفات فريدة
base64 b64encode ترميز Base64 base64.b64encode(data) base64.b64encode(b"data") ترميز البيانات
hashlib sha256 تجزئة SHA-256 hashlib.sha256(data) hashlib.sha256(b"data").hexdigest() الأمان
copy deepcopy نسخ عميق للكائنات copy.deepcopy(obj) copy.deepcopy(mylist) منع مشاركة المراجع
gzip open فتح ملفات مضغوطة gzip.open(filename) gzip.open("file.gz") ضغط الملفات
zipfile ZipFile الوصول لأرشيف ZIP zipfile.ZipFile(file) with ZipFile("a.zip") as z: pass ضغط البيانات
configparser ConfigParser قراءة ملفات الإعداد configparser.ConfigParser() config.read("config.ini") إدارة الإعدادات
email message_from_string تحليل البريد الإلكتروني email.message_from_string(string) msg=email.message_from_string(raw) معالجة البريد
urllib request.urlopen فتح روابط الإنترنت urllib.request.urlopen(url) urllib.request.urlopen("[http://example.com") طلب](http://example.com%22%29
socket socket كائن الشبكة socket.socket() s=socket.socket() الاتصال الشبكي
logging basicConfig إعداد السجلات logging.basicConfig(level) logging.basicConfig(level=logging.INFO) تسجيل الأحداث
argparse ArgumentParser تحليل وسائط CLI argparse.ArgumentParser() parser=argparse.ArgumentParser() برمجة CLI
shutil copy نسخ الملفات shutil.copy(src,dst) shutil.copy("a.txt","b.txt") إدارة الملفات
pprint pprint تنسيق الطباعة pprint.pprint(obj) pprint.pprint(data) عرض البيانات بشكل مرتب
statistics mean حساب المتوسط statistics.mean(data) statistics.mean(\[1,2,3]) تحليل البيانات
statistics median حساب الوسيط statistics.median(data) statistics.median(\[1,2,3]) الوسيط المركزي
queue Queue طابور FIFO queue.Queue() q=queue.Queue() قوائم آمنة للخيوط
enum Enum إنشاء تعداد class Color(Enum): RED=1 Color.RED ثوابت معرفة
typing List تلميح النوع from typing import List def f(x:List): التحقق من النوع
decimal Decimal أرقام عالية الدقة decimal.Decimal("0.1") Decimal("0.1") رياضيات دقيقة
fractions Fraction أرقام نسبية fractions.Fraction(a,b) Fraction(1,3) كسور دقيقة
statistics stdev الانحراف المعياري statistics.stdev(data) statistics.stdev(\[1,2,3]) تحليل التباين
bisect insort إدراج مرتب bisect.insort(list,item) bisect.insort(a,5) الحفاظ على الترتيب
xml etree.ElementTree تحليل XML ET.parse(file) ET.parse("file.xml") البيانات المنظمة
pickle dump تسلسل ثنائي pickle.dump(obj,fp) pickle.dump(obj,f) تسلسل ثنائي
pickle load فك التسلسل pickle.load(fp) obj=pickle.load(f) فك التسلسل الثنائي
shelve open قاموس دائم shelve.open(file) db=shelve.open("db") تخزين بسيط للمفاتيح والقيم
tokenize generate_tokens تحليل النصوص tokenize.generate_tokens(readline) tokens=list(tokenize.generate_tokens(f.readline)) تحليل لغوي
pdb set_trace نقطة توقف pdb.set_trace() pdb.set_trace() تصحيح تفاعلي
inspect getmembers تفحص الكائنات inspect.getmembers(obj) inspect.getmembers(obj) أدوات انعكاسية
socketserver TCPServer خادم TCP socketserver.TCPServer((host,port),handler) TCPServer(("0.0.0.0",8000),Handler) خوادم مخصصة
csv reader قراءة CSV csv.reader(file) csv.reader(f) بيانات جدولة
csv writer كتابة CSV csv.writer(file) csv.writer(f) إخراج جدولي
tarfile open الوصول لأرشيف TAR tarfile.open(file) tarfile.open("archive.tar") ضغط البيانات
wave open معالجة ملفات WAV wave.open(file) wave.open("audio.wav") معالجة الصوت
audioop add عمليات صوتية audioop.add(fragment1,fragment2,2) audioop.add(b1,b2,2) معالجة الصوت
gettext gettext الترجمة gettext.gettext("text") _("Hello") التوطين
xmlrpc ServerProxy عميل XML-RPC xmlrpc.client.ServerProxy(url) ServerProxy("[http://localhost:8000") الاتصال](http://localhost:8000%22%29
asyncio run تشغيل coroutine asyncio.run(coro) asyncio.run(main()) المهام غير المتزامنة
contextlib contextmanager مدير سياق @contextmanager @contextmanager def cm(): yield إدارة الموارد

📊 Complete Properties Reference

Module Function Return Type Default Behavior Description Compatibility
os rename None Overwrites if exists إعادة تسمية ملف أو مجلد Python 3.x+
sys exit None Exits interpreter إيقاف تنفيذ المفسر Python 3.x+
math ceil int يقرب للأعلى يعيد أصغر عدد صحيح أكبر أو يساوي x Python 3.x+
math sqrt float الجذر التربيعي إيجاد الجذر التربيعي للعدد Python 3.x+
datetime now datetime التاريخ الحالي يعيد التاريخ والوقت الحالي Python 3.x+
datetime strftime str Formatted string تحويل التاريخ إلى نص Python 3.x+
re search Match object None if not found البحث عن نمط معين Python 3.x+
re sub str النص الأصلي استبدال النمط بنص آخر Python 3.x+
json dump None كتابة إلى ملف تسلسل البيانات إلى JSON Python 3.x+
json load object قراءة JSON فك تسلسل JSON من ملف Python 3.x+
collections Counter Counter فارغ إذا لم يكن هناك iterable عد تكرار العناصر Python 3.x+
itertools chain iterator تكرار مرتب ربط أكثر من iterable Python 3.x+
functools reduce Value العنصر الأول إذا لم يوجد دالة تقليل iterable لقيمة واحدة Python 3.x+
random randint int النطاق شمول توليد عدد صحيح عشوائي Python 3.x+
heapq heappush None يحافظ على الهيب إضافة عنصر للهيب Python 3.x+
heapq heappop Value إزالة الأصغر إزالة أصغر عنصر من الهيب Python 3.x+
threading Thread Thread object غير مُشغل إنشاء خيط جديد Python 3.x+
subprocess run CompletedProcess ينتظر اكتمال العملية تشغيل أمر خارجي Python 3.x+
time sleep None تأخير التنفيذ تأجيل التنفيذ لعدد معين من الثواني Python 3.x+
pathlib Path Path object None تمثيل مسار الملفات Python 3.x+
uuid uuid4 UUID object معرف عشوائي توليد معرف فريد Python 3.x+
base64 b64encode bytes ترميز ترميز البيانات إلى Base64 Python 3.x+
hashlib sha256 str Hex digest تجزئة SHA-256 Python 3.x+
copy deepcopy object نسخة كاملة نسخ عميق للكائن Python 3.x+
gzip open file object وضع القراءة فتح ملف مضغوط Python 3.x+
zipfile ZipFile ZipFile object وضع القراءة الوصول لأرشيف ZIP Python 3.x+
configparser ConfigParser ConfigParser object إعدادات فارغة قراءة ملفات الإعداد Python 3.x+
email message_from_string Message object Parsing تحويل النص إلى رسالة بريد Python 3.x+
urllib request.urlopen HTTPResponse فتح الرابط طلب HTTP Python 3.x+
socket socket Socket object None إنشاء اتصال شبكي Python 3.x+
logging basicConfig None إعداد افتراضي تهيئة السجلات Python 3.x+
argparse ArgumentParser ArgumentParser object فارغ تحليل وسائط CLI Python 3.x+
shutil copy str إرجاع المسار نسخ الملفات أو المجلدات Python 3.x+
pprint pprint None عرض منسق عرض البيانات بشكل منظم Python 3.x+
statistics mean float خطأ إذا كان فارغ حساب المتوسط Python 3.x+
statistics median float خطأ إذا كان فارغ حساب الوسيط Python 3.x+
queue Queue Queue object فارغ طابور FIFO آمن للخيوط Python 3.x+
enum Enum Enum class N/A إنشاء تعداد ثابت Python 3.x+
typing List Type hint N/A تلميح نوع للقوائم Python 3.x+
decimal Decimal Decimal object 0 أرقام عالية الدقة Python 3.x+
fractions Fraction Fraction object 0 أرقام نسبية دقيقة Python 3.x+
statistics stdev float خطأ إذا لم توجد بيانات كافية حساب الانحراف المعياري Python 3.x+
bisect insort None يحافظ على الترتيب إدراج في قائمة مرتبة Python 3.x+
xml etree.ElementTree ElementTree object N/A تحليل وإنشاء XML Python 3.x+
pickle dump None كتابة ثنائية تسلسل كائن ثنائي Python 3.x+
pickle load object فك التسلسل قراءة الكائن الثنائي Python 3.x+
shelve open Shelf object فارغ قاموس دائم Python 3.x+
tokenize generate_tokens iterator N/A تحليل نصوص Python Python 3.x+
pdb set_trace None إيقاف التنفيذ نقطة توقف لتصحيح الأخطاء Python 3.x+
inspect getmembers list فارغ إرجاع أعضاء الكائن Python 3.x+
socketserver TCPServer TCPServer object ينتظر على serve خادم TCP Python 3.x+
csv reader reader object N/A قراءة CSV Python 3.x+
csv writer writer object N/A كتابة CSV Python 3.x+
tarfile open TarFile object وضع القراءة الوصول لأرشيف TAR Python 3.x+
wave open Wave_read object وضع القراءة معالجة ملفات WAV Python 3.x+
audioop add bytes N/A إضافة مقاطع صوتية Python 3.x+
gettext gettext str النص الأصلي ترجمة النصوص Python 3.x+
xmlrpc ServerProxy ServerProxy object N/A عميل XML-RPC Python 3.x+
asyncio run نتيجة coroutine تشغيل الحلقة تشغيل coroutine غير متزامن Python 3.x+
contextlib contextmanager Context manager N/A إدارة الموارد Python 3.x+

🧠 اختبر معرفتك

جاهز للبدء

Test Your Knowledge

اختبر فهمك لمكتبة بايثون القياسية

3
الأسئلة
🎯
70%
للنجاح
♾️
الوقت
🔄
المحاولات

📝 التعليمات

  • اقرأ كل سؤال بعناية
  • اختر أفضل إجابة لكل سؤال
  • يمكنك إعادة الاختبار عدة مرات كما تريد
  • سيتم عرض تقدمك في الأعلى