• 0

كيف يمكنني استخراج امتداد ملف عن طريق البايثون ؟

لدي مجموعة من الملفات وأريد استخراج امتداد هذه الملفات حتى أستطيع فرزهم والتعامل معهم، فهل هنالك دالة في لغة البايثون لاستخراج امتداد من ملف ؟

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة
  • 0

هنالك عدة طرق لاستخراج الامتداد من ملف، فيمكنك استخدام دالة path.splitext من مكتبة os لاستخراج الاسم و الامتداد بشكل منفصل كما في المثال التالي:

>>> import os
>>> filename, file_extension = os.path.splitext('/path/to/somefile.ext')
>>> filename
'/path/to/somefile'
>>> file_extension
'.ext'

أو بشكل مختصر يمكنك استخدام هذه الدالة كالتالي:

import os.path

extension = os.path.splitext(filename)[1]

ويمكنك أيضا استخدام هذه الشيفرة البرمجية لاستخراج الامتداد فقط(دون النقطة):

import os.path

extension = os.path.splitext(filename)[1][1:]

أو يمكنك استخدام هذه الشيفرة لفصل الملف إلى جزئين حسب النقطة:

>>> filename = "example.jpeg"

>>> filename.split(".")[-1]'

jpeg'

حيث لن تحصل بهذه الطريقة على رسالة خطأ لو كان الملف بدون امتداد كما في المثال التالي:

>>> "filename".split(".")[-1]

'filename'

ولو كنت في نظام لينكس ستجد أن جميع الشيفرات السابقة تضع سطر جديد في نهاية السلسلة النصية للامتداد، ويمكنك إضافة دالةstrip() إلى نهاية الملف لحل هذه المشكلة:

import os.path

extension = os.path.splitext(filename)[1][1:].strip()

المصدر

انشر على الشّبكات الاجتماعية


رابط هذه المساهمة

يجب أن تكون عضوًا لدينا لتتمكّن من التعليق

انشاء حساب جديد

يستغرق التسجيل بضع ثوان فقط


سجّل حسابًا جديدًا

تسجيل الدخول

تملك حسابا مسجّلا بالفعل؟


سجّل دخولك الآن