Python/pathlib/PurePath/relative to
التابع PurePath.relative_to
في بايثون
يحسب هذا التابع كيف يبدو المسار عند اعتباره منسوبًا إلى المسار المُعطى، ويرمي الاستثناء ValueError
عندما لا يُمكن نسب المسار الأصلي للمسار المُعطى
البنية العامة
>>> p = PurePosixPath('/etc/passwd')
>>> p.relative_to('/')
PurePosixPath('etc/passwd')
>>> p.relative_to('/etc')
PurePosixPath('passwd')
>>> p.relative_to('/usr')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pathlib.py", line 694, in relative_to
.format(str(self), str(formatted)))
ValueError: '/etc/passwd' does not start with '/usr'
المعاملات
الوسيط other*
مجموعة غير محدودة من القيم، يتم دمجها لإعطاء المسار الذي سيُنسب إليه المسار الحالي، مُعطيًا المسار المنسوب في القيمة المعادة.
القيمة المعادة
يعيد كائن مسار من نفس نكهة الكائن الأساسي، بحيث يشير إلى المسار منسوبًا إلى المعامل الممرر.
أمثلة
يبين المثال التالي طريقة استخدام التابع:
>>> p
PureWindowsPath('C:/Program Files/Internet Explorer/F12.dll')
>>> p.relative_to('C:/Program Files')
PureWindowsPath('Internet Explorer/F12.dll')
>>> p.relative_to('C:/Program Files/Internet Explorer')
PureWindowsPath('F12.dll')
>>> p.relative_to('C:/Program Files/Internet Explorer/')
PureWindowsPath('F12.dll')
>>> p.relative_to('C:/')
PureWindowsPath('Program Files/Internet Explorer/F12.dll')
انظر أيضًا