التنقل في الدلائل بشكل متكرر باستخدام os.walk() في بايثون
سعيًا لإنشاء قوائم دليل أكثر تنظيماً، حاول أحد المطورين تعديل الكود الخاص به لعرض الدلائل كعناوين كبيرة مع خطوط متقطعة تشير إلى العمق والملفات الموجودة أسفلها. ومع ذلك، فإن نهجهم الأولي أدى إلى نتائج غير كاملة.
لمواجهة هذا التحدي، يمكننا استخدام خاصية os.sep الخاصة ببايثون لتحديد مكونات المسار بشكل صحيح. إليك حل محسّن:
#!/usr/bin/python import os # traverse root directory, and list directories as dirs and files as files for root, dirs, files in os.walk("."): path = root.split(os.sep) print((len(path) - 1) * '---', os.path.basename(root)) for file in files: print(len(path) * '---', file)
في هذا الكود المنقح، قمنا بتقسيم المسار باستخدام os.sep كمحدد، والذي يناسب كلاً من أنظمة ملفات Windows وUnix. وبطرح 1 من طول المسار، يمكننا الحصول على عمق المستوى الحالي وعرض العدد المناسب من الخطوط المتقطعة.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3