Рекурсивное переименование файлов и папок с помощью Python

0
+ -
0

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

Скрипт необходимо запускать в папке, с которой необходимо начать работу. Если же скрипт запускается из другой папки, измените значение строкового объекта "root_dir".


import os

# Укажите путь к корневой папке
root_dir = '.'  # или замените на '/путь/к/вашей/папке'

for dirpath, dirnames, filenames in os.walk(root_dir):
    # Переименовываем папки
    for dirname in dirnames:
        if 'Лишний текст ' in dirname:
            new_dirname = dirname.replace('Лишний текст ', '')
            os.rename(os.path.join(dirpath, dirname), os.path.join(dirpath, new_dirname))

    # Переименовываем файлы
    for filename in filenames:
        if 'Лишний текст ' in filename:
            new_filename = filename.replace('Лишний текст ', '')
            os.rename(os.path.join(dirpath, filename), os.path.join(dirpath, new_filename))

Есть правда у него один недостаток, после первого запуска переименовались только папки, но я решил запустить скрипт еще раз и все файлы тоже были переименованы. Я не стал разбираться, что я упустил в коде, но так как мне больше не на чем было его проверить, я не стал его править. Поэтому, если у Вас будет так же, просто запустите скрипт повторно.

Похожие новости

Добавить комментарий

Автору будет очень приятно узнать обратную связь о своей новости.

Комментариев 0