تقنية

ZipInfo في بايثون: هل علم المجلد يكفي لـis_dir؟

علم مجلد واسم بلا شرطة مع False
اسم بلا شرطة أخيرة. [1] [2]

اسم العضو وسماته حقول مختلفة. [1] [2]

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

علم المجلد وحده لا يكفي لـis_dir() في مثالنا. [1] [2]

  • اسم bud مع external_attr=0x10 يعطي False. [1] [2]
  • اسم leaf/ مع سمات صفرية يعطي True. [1] [2]
  • الشرطة الأمامية الأخيرة تحدد النتيجة هنا. [1] [2]
  • ضبطنا create_system=0 لكائنين مؤلفين. [1] [2]
  • نفحص 3.12.14؛ لم ننشئ أرشيفًا أو نفك ضغطًا. [1] [2]

المثال

from zipfile import ZipInfo
a=ZipInfo("bud")
a.create_system=0
a.external_attr=0x10
b=ZipInfo("leaf/")
b.create_system=0
b.external_attr=0
print(a.is_dir())
print(b.is_dir())

[1] [2]

ماذا تفحص الدالة؟

الدالة تفحص نهاية الاسم؛ لا تقرأ external_attr. يسمي المصدر 0x10 علم المجلد في MS-DOS عند تكوين معلومات من مسار. عيّناه يدويًا؛ لم نستدع from_file. [1] [2]

اسم بشرطة وسمات صفرية مع True
اسم بشرطة أخيرة. [1] [2]

حدود النتيجة

البطاقتان مؤلفتان؛ لا تثبتان وجود مجلد أو سلامة أرشيف. استخدمنا ASCII وشرطة أمامية؛ لا نعمم على كل معالجة للمسارات. [1] [2]

المراجع

  1. Python 3.12: ZipInfo.is_dir
  2. CPython 3.12.14: ZipInfo directory naming
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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

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