ali_agha نشر 23 سبتمبر 2015 أرسل تقرير نشر 23 سبتمبر 2015 لدي مجموعة من الملفات وأريد استخراج امتداد هذه الملفات حتى أستطيع فرزهم والتعامل معهم، فهل هنالك دالة في لغة البايثون لاستخراج امتداد من ملف ؟ اقتباس
0 هشام رزق الله نشر 23 سبتمبر 2015 أرسل تقرير نشر 23 سبتمبر 2015 هنالك عدة طرق لاستخراج الامتداد من ملف، فيمكنك استخدام دالة 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()المصدر اقتباس
السؤال
ali_agha
لدي مجموعة من الملفات وأريد استخراج امتداد هذه الملفات حتى أستطيع فرزهم والتعامل معهم، فهل هنالك دالة في لغة البايثون لاستخراج امتداد من ملف ؟
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.