0Pricing
Python Academy · درس

معالجة المسارات

صِل المسارات وحلّها وافحصها

معالجة المسارات درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.

فحص المسارات وتحويلها

إلى جانب إنشاء المسارات، تتيح pathlib تحويلها إلى صيغة مطلقة، واختبار العلاقات بينها، وقراءة البيانات الوصفية لنظام الملفات، وكل ذلك من دون استخدام os.path.

المسارات المطلقة والنسبية

تُبلغ is_absolute() عمّا إذا كان المسار مرتبطًا بالجذر. وتُفسَّر المسارات النسبية بالنسبة إلى الدليل الحالي.

from pathlib import Path

print(Path('docs/file.txt').is_absolute())
print(Path('/usr/local').is_absolute())

حلّ مسار

تحوّل resolve() المسار إلى مسار مطلق وتدمج مقاطع . و... وهي الطريقة الأساسية لتطبيع المسارات.

from pathlib import Path

p = Path('a/b/../c/file.txt')
print(p.resolve())

الوصل باستخدام joinpath

إلى جانب العامل /، تلحق joinpath() مكوّنًا واحدًا أو أكثر. وتكون مفيدة عندما تأتي المكوّنات من قائمة.

from pathlib import Path

base = Path('project')
parts = ['src', 'main', 'app.py']
print(base.joinpath(*parts))

المسارات النسبية بين موقعين

تحسب relative_to() مسار موقع بالنسبة إلى موقع آخر. وترفع استثناءً إذا لم يكن المسار ضمن الأساس المحدد.

from pathlib import Path

full = Path('/home/user/docs/report.txt')
rel = full.relative_to('/home/user')
print(rel)

اختبار بادئة باستخدام is_relative_to

تتحقق is_relative_to() بأمان مما إذا كان أحد المسارين يقع ضمن الآخر، وتعيد قيمة منطقية بدلًا من رفع استثناء.

from pathlib import Path

p = Path('/home/user/docs/file.txt')
print(p.is_relative_to('/home/user'))
print(p.is_relative_to('/etc'))

امتدادات متعددة

بالنسبة إلى أسماء مثل archive.tar.gz، تسرد suffixes كل الامتدادات، بينما تعطي suffix الامتداد الأخير فقط.

from pathlib import Path

p = Path('archive.tar.gz')
print(p.suffix)
print(p.suffixes)

الجذر ومحرك الأقراص

تكون الخاصية anchor جزء الجذر من المسار. وفي POSIX تكون عادةً /، بينما تتضمن في Windows حرف محرك الأقراص.

from pathlib import Path

p = Path('/usr/local/bin')
print('anchor:', p.anchor)
print('parts:', p.parts)

قراءة البيانات الوصفية للملفات

تعيد stat() بيانات وصفية لنظام الملفات، مثل الحجم بالبايتات. سننشئ هنا ملفًا ونقرأ حجمه.

from pathlib import Path

p = Path('meta.txt')
p.write_text('hello world')
print('size:', p.stat().st_size, 'bytes')

إعادة التسمية والنقل

تغيّر rename() موقع المسار أو اسمه. وعند دمجها مع طرق إنشاء المسارات، تجعل إعادة تنظيم الملفات عملية موجزة.

from pathlib import Path

old = Path('old_name.txt')
old.write_text('data')
new = old.with_name('new_name.txt')
old.rename(new)
print(new.exists(), new.read_text())

توسيع اختصار الدليل الرئيسي

تستبدل expanduser() الرمز ~ في بداية المسار بالدليل الرئيسي للمستخدم، محاكيةً طريقة توسيع الصدفة له.

from pathlib import Path

p = Path('~/configs/app.ini')
expanded = p.expanduser()
print(expanded.is_absolute())

تحقق سريع

ماذا تفعل الطريقة resolve() بالمسار؟

مراجعة

تعلّمتم وصل المسارات وحلّها وفحصها.

  • تنشئ resolve مسارًا مطلقًا ومطبّعًا.
  • تقارن relative_to وis_relative_to بين المواقع.
  • تكشف suffix وsuffixes وanchor وparts بنية المسار.
  • تقرأ stat البيانات الوصفية، بينما تنقل rename الملفات.

الأسئلة الشائعة

هل درس «معالجة المسارات» مجاني؟

نعم — نص درس «معالجة المسارات» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.

ماذا ستتعلم في «معالجة المسارات»؟

صِل المسارات وحلّها وافحصها تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟

لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «معالجة المسارات»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟

نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. كائن Path
  2. قراءة الملفات وكتابتها
  3. استخدام glob والتكرار
  4. معالجة المسارات
← العودة إلى Python Academy