تقنية

is_symlink في ZIP: هل تفحص السمات على Python 3.12؟

سمات محفوظة ودالة ثابتة
تفسير توضيحي [1] [2]

is_symlink في ZIP لا تفحص السمات هنا. [1] [2]

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

لا؛ هذه النسخة تعيد False مباشرةً. [1] [2]

  • فحص CPython 3.12.14. [1] [2]
  • سمات bud تبقى محفوظة. [1] [2]
  • is_symlink() تعيد False. [1] [2]
  • العضو العادي والغائب يعطيان False. [1] [2]
  • وثائق 3.13 تسجل تغير هذا السلوك. [1] [2]

أرشيف بالذاكرة

from io import BytesIO
from zipfile import ZipFile,ZipInfo,Path
buf=BytesIO()
info=ZipInfo("bud")
info.create_system=3
info.external_attr=0o120777<<16
with ZipFile(buf,"w") as z:z.writestr(info,b"leaf")
with ZipFile(buf) as z:
 p=Path(z,"bud")
 print(z.getinfo("bud").external_attr==info.external_attr)
 print(p.is_symlink())

[1] [2]

السمات والنتيجة

النتيجة: True ثم False؛ بقاء السمات لا يغيّر الدالة. [1] [2]

العضو العادي والغائب
تفسير توضيحي [1] [2]

النطاق

سمات مؤلفة؛ لا نفك ضغطًا ولا ننشئ رابطًا بنظام الملفات. [1] [2]

لا نختبر 3.13؛ نقرأ ملاحظة وثائقها التاريخية. [1] [2]

يغيّر Path نوع الأرشيف المملوك؛ لا ندّعي بقاء النوع الأصلي. [2]

المراجع

  1. Python 3.13: ZIP historical behavior
  2. CPython 3.12.14: Path implementation
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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

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