"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني استخدام `os.walk()` لإنشاء قائمة دليل منظمة بمؤشرات العمق في بايثون؟

كيف يمكنني استخدام `os.walk()` لإنشاء قائمة دليل منظمة بمؤشرات العمق في بايثون؟

تم النشر بتاريخ 2024-11-09
تصفح:490

How can I use `os.walk()` to create a structured directory listing with depth indicators in Python?

التنقل في الدلائل بشكل متكرر باستخدام 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