Рекурсивное чтение содержимого папки в Python
В Python вы можете столкнуться с проблемами при попытке рекурсивного перемещения по каталогам для чтения текстовых файлов. Распространенной проблемой является код, который работает только для одного уровня каталога.
Понимание функции os.walk
Ядро рекурсивного обхода папок в Python лежит в os. .walk() функция. Он перебирает указанный каталог и его подкаталоги, возвращая три значения: корень, подкаталоги и файлы.
Оптимизация обхода папок
Для рекурсивного перемещения по каталогам вы должен перебирать список подкаталогов, возвращаемый os.walk(). Затем для каждого подкаталога вы можете рекурсивно вызвать os.walk() для обработки его содержимого.
Улучшенный код Python
Пример кода можно изменить для обработки нескольких каталогов уровни:
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
Дополнительные рекомендации
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3