#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)