«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как я могу использовать `os.walk()` для создания структурированного списка каталогов с индикаторами глубины в Python?

Как я могу использовать `os.walk()` для создания структурированного списка каталогов с индикаторами глубины в Python?

Опубликовано 9 ноября 2024 г.
Просматривать:600

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

Рекурсивная навигация по каталогам с помощью os.walk() в Python

Стремясь создать более структурированные списки каталогов, разработчик попытался изменить свой код для отображения каталогов в виде названий, написанных с заглавной буквы, с пунктирными линиями, обозначающими глубину и файлы под ними. Однако их первоначальный подход дал неполные результаты.

Чтобы решить эту проблему, мы можем использовать атрибут os.sep Python для правильного разграничения компонентов пути. Вот улучшенное решение:

#!/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