الفرق بين المراجعتين لصفحة: «Python/pathlib/PurePath/parent»

من موسوعة حسوب
< Python‏ | pathlib‏ | PurePath
أنشأ الصفحة ب'== المتغير <code>PurePath.parent</code> == الأب المنطقي للمسار الحالي<syntaxhighlight lang="python3"> >>> p = PurePosixPath('/a/b/c/d') >>...'
 
 
سطر 1: سطر 1:
== المتغير <code>PurePath.parent</code> ==
== المتغير <code>PurePath.parent</code>==
الأب المنطقي للمسار الحالي<syntaxhighlight lang="python3">
الأب المنطقي للمسار الحالي<syntaxhighlight lang="python3">
>>> p = PurePosixPath('/a/b/c/d')
>>> p = PurePosixPath('/a/b/c/d')
سطر 17: سطر 17:
</syntaxhighlight>ملاحظة
</syntaxhighlight>ملاحظة


This is a purely lexical operation, hence the following behaviour:<syntaxhighlight lang="python3">
يظهر في المثال التالي سلوك غير متوقّع للمتغير <code>parent</code>، وذلك لكون العملية الخاصة به عملية نصية بحتة لا تهتم بخصائص المسارات.<syntaxhighlight lang="python3">
>>> p = PurePosixPath('foo/..')
>>> p = PurePosixPath('foo/..')


>>> p.parent
>>> p.parent
PurePosixPath('foo')
PurePosixPath('foo')
</syntaxhighlight><span> </span>
</syntaxhighlight><span> إذا أردت الانتقال في نظام الملفات درجة للأعلى، فمن المستحسن أن تقوم أولًا باستدعاء التابع <code>[/Python/Path/resolve Path.resolve]</code></span> لتحليل الاختصارات (symlinks) وإزالة جميع عناصر الرجوع <code>'..'</code>.
 
If you want to walk an arbitrary filesystem path upwards, it is recommended to first call Path.resolve()so as to resolve symlinks and eliminate “..” components.

المراجعة الحالية بتاريخ 12:43، 3 أغسطس 2018

 المتغير PurePath.parent

الأب المنطقي للمسار الحالي

>>> p = PurePosixPath('/a/b/c/d')

>>> p.parent
PurePosixPath('/a/b/c')

لا يوجد أب للمسار الخالي، كما لا يمكن تجاوز مسار الإرساء.

>>> p = PurePosixPath('/')

>>> p.parent
PurePosixPath('/')

>>> p = PurePosixPath('.')

>>> p.parent
PurePosixPath('.')

ملاحظة يظهر في المثال التالي سلوك غير متوقّع للمتغير parent، وذلك لكون العملية الخاصة به عملية نصية بحتة لا تهتم بخصائص المسارات.

>>> p = PurePosixPath('foo/..')

>>> p.parent
PurePosixPath('foo')

إذا أردت الانتقال في نظام الملفات درجة للأعلى، فمن المستحسن أن تقوم أولًا باستدعاء التابع [/Python/Path/resolve Path.resolve] لتحليل الاختصارات (symlinks) وإزالة جميع عناصر الرجوع '..'.