تقنية

TarInfo في بايثون: هل الشرطة المائلة في الاسم تثبت أنه مجلد؟

اسم بشرطة ونوع عادي
الفحص الأول. [1] [2]

انتهاء الاسم بشرطة مائلة لا يكفي في كائن أنشأناه مباشرة. [1] [2]

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

لا؛ يفحص isdir حقل type في كائننا. [1] [2]

  • أنشأنا TarInfo بالاسم bud/. [1] [2]
  • نوعه الأول REGTYPE؛ الفحص False. [1] [2]
  • إسناد DIRTYPE يجعل الفحص True. [1] [2]
  • يبقى الاسم bud/ بعد تغيير النوع. [1] [2]
  • اختبرنا 3.12.14 دون قراءة أرشيف أو قرص. [1] [2]

المثال

import tarfile as t
i=t.TarInfo('bud/')
print(i.isdir())
i.type=t.DIRTYPE
print(i.isdir())
print(i.name)

[1] [2]

الاسم والنوع

المصدر هنا يقارن type مع DIRTYPE. المخرجات False ثم True ثم bud/. تغيير الحقل يغير الوصف، ولا ينشئ مجلدًا. [1] [2]

نوع مجلد والاسم نفسه
بعد تغيير النوع. [1] [2]

حدود النتيجة

المثال للمُنشئ المباشر. لا نعممه على تحليل ترويسات الأرشيف؛ قد يعالج المحلل أسماءً قديمة بطريقة أخرى. ليس الفحص اختبارًا لوجود مجلد على القرص. [1] [2]

المراجع

  1. Python 3.12: TarInfo.type / isdir
  2. CPython 3.12.14: tarfile.py
  3. موضوع تك: لغة بايثون — مفردات
  4. موضوع تك: تطبيقات بايثون — مفردات

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

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