تقنية

joinpath في بايثون: هل يبقى المسار الأول مع /leaf؟

دمج /leaf يعطي /leaf في المثال.
مقطع مطلق.

في PurePosixPath، المقطع المطلق يلغي المقاطع السابقة عند الدمج. [1]

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

لا في المثال؛ الناتج /leaf. [1]

  • في PurePosixPath، المقطع المطلق يلغي المقاطع السابقة عند الدمج. [1]
  • joinpath تضم المقاطع المعطاة بالتتابع إلى المسار. [1]
  • مثال مؤلف على CPython 3.12.14: p أدناه من PurePosixPath؛ p.joinpath("/leaf") تعطي /leaf. [1]
  • p.joinpath("leaf") تعطي root/bud/leaf؛ الحجة هنا نسبية. [1]
  • تحكم: "/" ثم "leaf" مقابل "root/bud/" ثم "leaf" يطابقان الناتجين؛ يبقى p مسار root/bud. [1]

المقطع المطلق

في PurePosixPath، المقطع المطلق يلغي المقاطع السابقة عند الدمج. [1]

دمج متتابع

joinpath تضم المقاطع المعطاة بالتتابع إلى المسار. [1]

الجزء الأول يُستبعد

مثال مؤلف على CPython 3.12.14: p أدناه من PurePosixPath؛ p.joinpath("/leaf") تعطي /leaf. [1]

from pathlib import PurePosixPath p=PurePosixPath("root/bud") [1]

دمج leaf يعطي root/bud/leaf.
مقطع نسبي.

المقطع النسبي والتحكم

p.joinpath("leaf") تعطي root/bud/leaf؛ الحجة هنا نسبية. [1]

p.joinpath("leaf") -> root/bud/leaf [1]

تحكم: "/" ثم "leaf" مقابل "root/bud/" ثم "leaf" يطابقان الناتجين؛ يبقى p مسار root/bud. [1]

المراجع

  1. Python — combining path segments

للتوسع: لغات البرمجة.

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