Рекурсивное переименование файлов и папок с помощью Python
После скачивания некоторого архива из интернета, обнаружил, что все папки, вложенные в них папки, а так же присутствующие в них файлы имели неприятное дополнение в виде лишнего текста. Не долго думая набросал скрипт на 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