كائن Path
أنشئ المسارات بالطريقة الحديثة
كائن Path درس مجاني في Python Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Python Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Python Academy 4 دروس في المجموع.
المسارات الحديثة باستخدام pathlib
تمثّل الوحدة pathlib مسارات نظام الملفات ككائنات بدلًا من سلاسل نصية عادية. ويعرف كائن Path كيفية ضم أجزائه وتقسيمها وفحصها، ما يغني عن كثير من دوال os.path المتفرقة.
إنشاء مسار
استورد Path وأنشئ كائنًا منه باستخدام سلسلة نصية. ويعرض طباعته نص المسار.
from pathlib import Path
p = Path('folder/file.txt')
print(p)الضم باستخدام العامل /
يضم عامل الشرطة المائلة أجزاء المسار. وهو أوضح بكثير من تسلسل السلاسل النصية، ويتعامل مع الفواصل بصورة صحيحة على كل نظام تشغيل.
from pathlib import Path
base = Path('data')
full = base / 'reports' / 'march.txt'
print(full)الاسم والجذر واللاحقة
يعرض المسار أجزاءه كخصائص: تمثل name المكوّن الأخير، بينما تحذف stem الامتداد، وتمثل suffix الامتداد.
from pathlib import Path
p = Path('data/report.csv')
print(p.name)
print(p.stem)
print(p.suffix)الدليل الأصلي
توفر الخاصية parent الدليل الحاوي في صورة Path آخر. ويمكنك تسلسلها للصعود إلى الأدلة الأعلى.
from pathlib import Path
p = Path('a/b/c/file.txt')
print(p.parent)
print(p.parent.parent)جميع الأجزاء
تعيد الخاصية parts صفًّا يضم كل مكوّنات المسار، وهذا مفيد عند التكرار على أجزاء المسار.
from pathlib import Path
p = Path('usr/local/bin')
print(p.parts)تغيير الامتداد
تعيد with_suffix() مسارًا جديدًا بامتداد مختلف، بينما تستبدل with_name() المكوّن النهائي بأكمله.
from pathlib import Path
p = Path('report.txt')
print(p.with_suffix('.md'))
print(p.with_name('summary.txt'))الدليلان الحالي والرئيسي
تعيد طريقتا الفئة Path.cwd() وPath.home() دليل العمل الحالي والدليل الرئيسي للمستخدم.
from pathlib import Path
print(type(Path.cwd()))
print(type(Path.home()))التحقق من الوجود والنوع
استعلموا من نظام الملفات باستخدام exists() وis_file() وis_dir(). إذ تعيد هذه الطرق قيمًا منطقية من دون رفع استثناء عند غياب المسار.
from pathlib import Path
p = Path('definitely_not_here_12345.txt')
print(p.exists())
print(p.is_file())
print(p.is_dir())تصبح المسارات سلاسل نصية عند الحاجة
تقبل معظم دوال الملفات كائنات Path مباشرةً. وعندما تحتاجون فعلًا إلى سلسلة نصية، غلّفوها باستخدام str().
from pathlib import Path
p = Path('data') / 'file.txt'
text = str(p)
print(text)
print(type(text))مصمّمة للعمل على مختلف المنصات
يستخدم Path تلقائيًا الفاصل الصحيح لنظام التشغيل الذي تشغّلون عليه البرنامج. تكتبون الشيفرة نفسها باستخدام عمليات الوصل عبر /، فتحصلون على مسارات صحيحة في Linux وmacOS وWindows.
from pathlib import Path
p = Path('config') / 'settings' / 'app.ini'
print(p)
print(p.name)تحقق سريع
ماذا يفعل العامل / عند استخدامه مع كائنات Path؟
مراجعة
تعلّمتم إنشاء المسارات بالطريقة الحديثة.
- يمثّل
Pathمسارًا في نظام الملفات على هيئة كائن. - صِلوا المسارات باستخدام
/، وافحصوها باستخدامnameوstemوsuffixوparentوparts. - تنشئ
with_suffixوwith_nameمسارات جديدة مشتقة. - تحقّقوا من نظام الملفات باستخدام
existsوis_fileوis_dir.
الأسئلة الشائعة
هل درس «كائن Path» مجاني؟
نعم — نص درس «كائن Path» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Python Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Python Academy 4 دروس في المجموع.
ماذا ستتعلم في «كائن Path»؟
أنشئ المسارات بالطريقة الحديثة تتمرن على Python Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Python Academy؟
لا تُشترط خبرة سابقة. Python Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «كائن Path»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Python Academy هذا؟
نعم. كل درس في Python Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.