الفرق بين المراجعتين لصفحة: «Python/pathlib/Path/resolve»
طلا ملخص تعديل |
|||
سطر 8: | سطر 8: | ||
>>> p.resolve() | >>> p.resolve() | ||
PosixPath('/home/antoine/pathlib') | PosixPath('/home/antoine/pathlib') | ||
</syntaxhighlight> | </syntaxhighlight>يُزيل هذا التابع الأجزاء <code>".."</code> وهو التابع الوحيد الذي يقوم بذلك.<syntaxhighlight lang="python3"> | ||
>>> p = Path('docs/../setup.py') | >>> p = Path('docs/../setup.py') | ||
>>> p.resolve() | >>> p.resolve() | ||
PosixPath('/home/antoine/pathlib/setup.py') | PosixPath('/home/antoine/pathlib/setup.py') | ||
</syntaxhighlight> | </syntaxhighlight>يتم رمي الاستثناء <code>FileNotFoundError</code> إن كان المسار يشير إلى ملف غير موجود، في حال كانت قيمة الوسيط <code>strict</code> هي <code>True</code>. | ||
< | إن كانت قيمة الوسيط <code>strict</code> هي <code>False</code> فإن التابع يحلل المسار إلى أبعد نقطة ممكنة ويتم إلحاق أي بواقٍ دون التأكد من وجود الملف من عدمه. | ||
يتم رمي استثناء <code>RuntimeError</code> في حال وجود حلقة غير منتهية ضمن المسار (كوجود اختصار يشير إلى المجلد الحاوي على الاختصار نفسه) | |||
تم إضافة الوسيط <code>strict</code> في النسخة 3.6. |
المراجعة الحالية بتاريخ 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.