تقنية

is_relative_to في بايثون: هل True تثبت بقاء الملف داخل المجلد؟

True لعلاقة مسارين نصيين
العلاقة. [1] [2]

العلاقة بين نصي المسارين لا تفحص مكان ملف. [1] [2]

الخلاصة السريعة

لا؛ is_relative_to عملية نصية لا تفحص نظام الملفات. [1] [2]

  • مسارنا box/../leaf.txt. [1] [2]
  • الاختبار بالنسبة إلى box يعيد True. [1] [2]
  • لا يعامل الاختبار .. معاملة خاصة. [1] [2]
  • relative_to يعيد ../leaf.txt دون حل المسار. [1] [2]
  • اختبرنا PurePosixPath في 3.12.14؛ لا ملف فعليًا. [1] [2]

المثال

from pathlib import PurePosixPath
p=PurePosixPath('box/../leaf.txt')
print(p.is_relative_to('box'))
print(p.relative_to('box'))

[1] [2]

ما الذي يثبت؟

المصدر هنا يقارن المسار بالمقابل وآبائه المنطقيين. لذلك يبقى box ضمن آباء مسارنا، ولو احتوى ... المخرجان True ثم ../leaf.txt؛ لا نقرأ ملفًا أو نتحقق من وجوده. [1] [2]

المسار النسبي يبقي النقطتين
الناتج. [1] [2]

مقارنة وحدود

مع box2/leaf.txt يعيد الاختبار False؛ تشابه بداية الاسم وحده لا يكفي. ومع box/leaf.txt يعيد True. لا نعد النتيجة إثباتًا لموضع فعلي، ولا نختبر روابط رمزية أو صلاحيات. [1] [2]

المراجع

  1. Python 3.12: PurePath lexical methods
  2. CPython 3.12.14: pathlib.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

للتوسع: بحث عن لغات البرمجة

أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.