Python/pathlib/Path/resolve

من موسوعة حسوب
< Python‏ | pathlib‏ | Path
مراجعة 12:09، 4 أغسطس 2018 بواسطة مصطفى-عطا (نقاش | مساهمات)
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

التابع Path.resolve

يجعل المسار مسارًا مطلقًا، حيث يقوم بإزالة جميع الاختصارات (symlinks)، ويقوم بإعادة كائن مسار جديد.

>>> p = Path()

>>> p
PosixPath('.')

>>> p.resolve()
PosixPath('/home/antoine/pathlib')

يُزيل هذا التابع الأجزاء ".." وهو التابع الوحيد الذي يقوم بذلك.

>>> p = Path('docs/../setup.py')

>>> p.resolve()
PosixPath('/home/antoine/pathlib/setup.py')

يتم رمي الاستثناء FileNotFoundError إن كان المسار يشير إلى ملف غير موجود، في حال كانت قيمة الوسيط strict هي True.

إن كانت قيمة الوسيط strict هي False فإن التابع يحلل المسار إلى أبعد نقطة ممكنة ويتم إلحاق أي بواقٍ دون التأكد من وجود الملف من عدمه.

يتم رمي استثناء RuntimeError في حال وجود حلقة غير منتهية ضمن المسار (كوجود اختصار يشير إلى المجلد الحاوي على الاختصار نفسه)

تم إضافة الوسيط strict في النسخة 3.6.