الفرق بين المراجعتين ل"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) وإزالة جميع عناصر الرجوع '..'.