الفرق بين المراجعتين ل"Python/pathlib/Path/resolve"

من موسوعة حسوب
< Python‏ | pathlib‏ | Path
اذهب إلى التنقل اذهب إلى البحث
ط
 
(مراجعة متوسطة واحدة بواسطة نفس المستخدم غير معروضة)
سطر 1: سطر 1:
 
== التابع Path.resolve ==
 
== التابع Path.resolve ==
Make the path absolute, resolving any symlinks. A new path object is returned:<syntaxhighlight lang="python3">
+
يجعل المسار مسارًا مطلقًا، حيث يقوم بإزالة جميع الاختصارات (symlinks)، ويقوم بإعادة كائن مسار جديد.<syntaxhighlight lang="python3">
 
>>> p = Path()
 
>>> p = Path()
  
سطر 8: سطر 8:
 
>>> p.resolve()
 
>>> p.resolve()
 
PosixPath('/home/antoine/pathlib')
 
PosixPath('/home/antoine/pathlib')
</syntaxhighlight>..” components are also eliminated (this is the only method to do so):<syntaxhighlight lang="python3">
+
</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>If the path doesn’t exist and strict is True, FileNotFoundError is raised. If strict is False, the path is resolved as far as possible and any remainder is appended without checking whether it exists. If an infinite loop is encountered along the resolution path, RuntimeError is raised.
+
</syntaxhighlight>يتم رمي الاستثناء <code>FileNotFoundError</code>  إن كان المسار يشير إلى ملف غير موجود، في حال كانت قيمة الوسيط <code>strict</code> هي <code>True</code>.
  
<span> </span>
+
إن كانت قيمة الوسيط <code>strict</code> هي <code>False</code> فإن التابع يحلل المسار إلى أبعد نقطة ممكنة ويتم إلحاق أي بواقٍ دون التأكد من وجود الملف من عدمه.
  
New in version 3.6: The strict argument.
+
يتم رمي استثناء <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.