Вы можете сделать это, используя функцию os.walk()
, чтобы найти все файлы изображений с камеры, и модуль pathlib
, чтобы получить компоненты пути, необходимые для построения.имя файла назначения.Если у вас есть полные пути к файлам источника и назначения, вы можете использовать функцию shutil.move()
для перемещения и переименования каждого из них.
Примечание: код требует по крайней мере Python 3.4 для запуска из-за его использования pathlib
, и я закомментировал строку, которая фактически выполняет перемещение и переименование, так что вы можете безопасно запустить и протестировать скрипт, чтобы увидеть, что он будет делать, не делаялюбой ущерб.
import os
import pathlib
import shutil
IMAGE_FILENAME = '00[R][0@0][0].jpg'
EXT = os.path.splitext(IMAGE_FILENAME)[1] # Image file extension.
root = 'MainFolder'
count = 0
for dir_name, sub_dirs, files in os.walk(root, topdown=False):
for filename in files:
if filename == IMAGE_FILENAME:
src = os.path.join(dir_name, filename)
relpath = os.path.relpath(src, root) # Relative to root folder.
parts = pathlib.Path(relpath).parts # Relative path components.
dst = os.path.join(root, parts[0] + '_' + parts[3] + parts[4] + EXT)
print(' moving "{}" to "{}"'.format(src, dst))
# shutil.move(src, dst)
count += 1
print('{} files moved'.format(count))