Переименование нескольких папок с порядковым номером

#python #directory #operating-system #rename

#python #каталог #операционная система #переименовать

Вопрос:

Это мой список папок. Они не расположены последовательно (они не начинаются с # 1). Я хочу переименовать эту последовательность папок 1-348 (всего 348 папок). Как я могу это сделать? У меня есть список папок, подобный этому. пример img 1 Я хочу сделать это так. пример img 2

Ответ №1:

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

 import os
import os.path

dirs_unsorted = filter(lambda d: os.path.isdir(d), map(lambda d: d.name, os.scandir(".")))
dirs = sorted(dirs_unsorted, reverse=False, key=int)

for t in enumerate(dirs):
    i,name = t
    new_name = str(i 1)
    print("Renaming {0} to {1}".format(name, new_name))
    os.rename(name,new_name)