الحصول على قوائم الدليل مرتبة حسب تاريخ الإنشاء باستخدام بايثون
عند التنقل في دليل، غالبًا ما تنشأ الحاجة للحصول على قائمة محتوياته مرتبة وفقًا لمعايير محددة، مثل تاريخ الإنشاء. في بايثون، يمكن إنجاز هذه المهمة بسهولة.
النهج المقترح:
لتحقيق ذلك، يتم استخدام مزيج من وحدات معالجة نظام الملفات المضمنة في بايثون ووظيفة الفرز. موظف. يوضح مقتطف الكود التالي هذه العملية:
import glob import os search_dir = "/mydir/" files = [os.path.join(search_dir, f) for f in os.listdir(search_dir) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
يبدأ مقتطف التعليمات البرمجية هذا بالحصول على قائمة بجميع الملفات الموجودة داخل الدليل المحدد باستخدام os.listdir(). بعد ذلك، تتم تصفية أي عناصر غير ملف (على سبيل المثال، الدلائل والروابط) باستخدام os.path.isfile(). للتأكد من مسارات الملفات الصحيحة، يتم وضع البادئة لكل اسم ملف بمسار دليل البحث.
يتم بعد ذلك فرز الملفات وفقًا لوقت التعديل الخاص بها باستخدام الدالة os.path.getmtime(). تقوم هذه الدالة بإرجاع وقت آخر تعديل لملف بتنسيق رقمي. من خلال تمرير هذه الوظيفة كوسيطة رئيسية للدالةsorted()، يتم ترتيب الملفات بترتيب زمني، مع ظهور الملفات التي تم إنشاؤها مؤخرًا أولاً.
المنهج البديل:
يتضمن النهج البديل استخدام وحدة glob لتصفية الملفات والحصول على قائمة بمسارات الملفات المطلقة:
import glob import os search_dir = "/mydir/" # This glob will look for all files and exclude any directories files = [f for f in glob.glob(f"{search_dir}/**", recursive=True) if os.path.isfile(f)] files.sort(key=lambda x: os.path.getmtime(x))
يبحث هذا الرمز بشكل أساسي في محتويات الدليل المحدد بالكامل وأدلته الفرعية، بما في ذلك جميع الملفات باستثناء أي أدلة. تسمح وظيفة glob.glob() بمطابقة أكثر مرونة لاسم الملف إذا لزم الأمر.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3