Как переименовать несколько файлов таким образом, чтобы каждое имя было в формате img_NNNNNN? [duplicate]

У меня есть тысячи изображений. Их имена следующие:

img_1
img_2
img_3
...
img_36000

Я хотел бы перевести их в это (соответственно):

img_010251
img_010252
img_010253
...
img_046250

Есть ли быстрое решение для этого в Ubuntu 18.04?

Примечание: длина нумерационной части должна быть 6! (NNNNNN)

0
задан 6 June 2020 в 22:58

1 ответ

Я искал решение в виде bash-скрипта.

Однако я только что написал для этого код на python , и это сработало:

# importing modules 
import os, sys, glob

# args
main_folder = sys.argv[1]
start_num = int(sys.argv[2])
extension = sys.argv[3]

len_removal = 6 + len(extension)

# importing names
src_path = main_folder + '*.' + extension
src_files=sorted(glob.glob(src_path))

for i in range(0,len(src_files)):
    newname = src_files[i][:-len_removal] + str(start_num).zfill(6) +"." + extension
    os.rename(src_files[i],newname)
    start_num+=1
1
ответ дан 19 June 2020 в 21:29

Другие вопросы по тегам:

Похожие вопросы: