Форум сайта python.su
Добрый день.
Для автоматизации некоторых действий пишу простенькие скрипты на питон. Общая логика такая:
1) Получить список папок;
2) Пройти циклом по списку папок заглядывая в каждую папку
3) Получить список файлов внутри папки;
4) Пройти циклом по списку файлов выполняя требуемые действия.
Получение списков убрано в функцию.
Периодически возникают ошибки FileNotFoundError: . Т.е. я написал скрипт, перебор файлов в нем работает, но есть ошибка во время выполнения целевого действия (пункт 4 в схеме выше). Я начитаю править алгоритм этого действия и внезапно собираю ошибки. FileNotFoundError: . Потом еще какое-то количество правок ОПЯТЬ же главного действия и ошибки FileNotFoundError: исчезают. Часть кода, отвечающую за перебор файлов я не трогал уже хрен знает сколько времени. Собственно код.
import json import os import string from mp3_tagger import VERSION_2, MP3File def func_list_mp3_files(): return [f for f in os.listdir('.') if os.path.isfile('.' + '\\' + f) and f.endswith('.mp3')] def func_list_dirs(): return [f for f in os.listdir('.') if os.path.isdir('.' + '\\' + f)] def func_main(): for folder in func_list_dirs(): os.chdir(os.path.join('.', folder)) for file in func_list_mp3_files(): try: some code except Exception as error: print (error) os.chdir('..')
Отредактировано SomethingButNotNickName (Апрель 1, 2018 18:38:21)
Офлайн
Добрый вечер , для Ваших целей не подходит os.walk ?
import os path = "c:\\python" for root, dirs, files in os.walk(path): pass # Тут Ваш обработчик
Офлайн
SomethingButNotNickNameВ таких случаях нужно на экран выводить директории, в которых ты ищешь файл, чтобы убедиться, что всё правильно. Чаще всего вывод окажется совсем не тем, что ты ожидаешь в воображении.
и внезапно собираю ошибки. FileNotFoundError
Отредактировано py.user.next (Апрель 2, 2018 01:29:47)
Офлайн