قراءة محتويات المجلد بشكل متكرر في Python
في Python، يمكنك مواجهة مشكلات عند محاولة اجتياز الدلائل بشكل متكرر لقراءة الملفات النصية. المشكلة الشائعة هي التعليمات البرمجية التي تعمل فقط لمستوى دليل واحد.
فهم وظيفة os.walk
يكمن جوهر اجتياز المجلد العودي في Python في نظام التشغيل. وظيفة .walk(). إنه يتكرر على دليل محدد وأدلته الفرعية، ويعيد ثلاث قيم: الجذر، والأديرة الفرعية، والملفات.
تحسين اجتياز المجلد
لاجتياز الدلائل بشكل متكرر، يمكنك يجب التكرار من خلال قائمة الدلائل الفرعية التي يتم إرجاعها بواسطة os.walk(). لكل دليل فرعي، يمكنك بعد ذلك استدعاء os.walk() بشكل متكرر لمعالجة محتوياته.
تحسين كود بايثون
يمكن تعديل رمز المثال للتعامل مع أدلة متعددة المستويات:
import os
import sys
walk_dir = sys.argv[1]
for root, subdirs, files in os.walk(walk_dir):
for subdir in subdirs:
# Process subdirectory: call os.walk() recursively for subdir
for sub_subdir, sub_subfiles, _ in os.walk(os.path.join(root, subdir)):
# Process subdirectories and files in subdirectory
أفضل الممارسات الإضافية
استخدم os.path.join () لتسلسل المسار بدلاً من معالجة السلسلة يدويًا.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3