Дублирование и переименование изображений на основе диапазона имен файлов (xxxx-xxxx.jpg) - PullRequest
0 голосов
/ 28 ноября 2018

У меня есть куча изображений с именами файлов, представляющими диапазон значений, которые мне нужно разделить на отдельные изображения.Например, для изображения с именем 1000-1200.jpg мне нужно 200 отдельных копий изображения с именами 1000.jpg, 1001.jpg, 1002.jpg и т. Д.

Я немного знаю Pythonно любые предложения по быстрому решению этой проблемы были бы очень благодарны.

РЕДАКТИРОВАТЬ: Вот что у меня есть до сих пор.Единственная проблема заключается в том, что он удаляет начальные нули из имени файла, и я не совсем уверен, как это исправить.

import os
from shutil import copyfile

fileList = []
filePath = 'C:\\AD\\Scripts\\to_split'

for file in os.listdir(filePath):
    if file.endswith(".jpg"):
        fileList.append(file)

for file in fileList:
    fileName = os.path.splitext(file)[0].split("-")
    rangeStart = fileName[0]
    rangeEnd = fileName[1]
    for part in range(int(rangeStart), int(rangeEnd)+1):
        copyfile(os.path.join(filePath, file), os.path.join(filePath, str(part) + ".jpg"))

1 Ответ

0 голосов
/ 28 ноября 2018

Позволяет решить проблему:

Шаг 1. Получить все файлы в папке

Шаг 2. Для каждого файла Получить строку из имени файла

Шаг 3. разбить строку на два целых числа a и b с помощью str.split ("-")

Шаг 4. for x in range(a, b), скопируйте файл и задайте имя файла как str (x)

...