0 / 0 / 0
Регистрация: 12.02.2021
Сообщений: 38

Скрипт на Python для переименования файлов на основе вложенной папки

30.12.2021, 05:15. Показов 3276. Ответов 2

Студворк — интернет-сервис помощи студентам
Ребята помогите пожалуйста со скриптом, нужно переименовать файлы в папках и добавлять к ним имя папки (это надо чтоб названия файлов было уникальны)
Вложенность такая - Data/Football/JPG/0.1.jpg - в чем смысл мне нужно брать название папки и добавлять его к файлу, то есть должно получится Football_01.jpg

Что делает мой код:
data\Football\JPG\jpg_.jpg2.jpg


Что мне нужно:
data\Football\JPG\Football_01.jpg

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import os
 
path = "data"
i = 0
for path, sub_directories, files in os.walk(path):
    directory_name = os.path.split(path)[1]
    # print(directory_name)
    for file in files:
        extension = os.path.splitext(file)[1]
        source = os.path.join(path, file)
        destination = os.path.join(path, directory_name + "_" + extension + str(i) + '.jpg')
        print(destination)
 
        os.rename(source, destination)
        i = i + 1
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.12.2021, 05:15
Ответы с готовыми решениями:

Скрипт для переименования файлов
Друзья, добрый день! Подскажите пожалуйста скрипт для переименования файла вида 5555_in_ffr_aii_ik_n_10s_spec_pro_20180531.xml.sig1, в...

Скрипт для переименования файлов
День добрый знатоки. Помогите с такой задачей: Имеется папка с кучей под папок вида E:\BACKUP\backup\SPB\2012-03-22\page_10,24 или...

Написать программу для переименования файлов в папках по имени папки
Нужна программа для переименования файлов в папках по имени папки. Например есть 3 папки с именем 1,2,3 нужно переименовать файлы в них...

2
Эксперт по компьютерным сетямЭксперт Pascal/Delphi
 Аватар для TAVulator
4191 / 1292 / 237
Регистрация: 27.07.2009
Сообщений: 3,962
30.12.2021, 07:04
Лучший ответ Сообщение было отмечено way2thesky как решение

Решение

Python
1
2
3
4
5
6
7
8
9
10
import os
 
path = "data"
 
subdirs = os.listdir(path)
for subdir in subdirs:
    files = [(x[0], x[2]) for x in os.walk(os.path.join(path, subdir))]
    for filepath, filenames in files:
        for file in filenames:
            os.rename(os.path.join(filepath, file), os.path.join(filepath, f"{subdir}_{file}"))
1
0 / 0 / 0
Регистрация: 12.02.2021
Сообщений: 38
30.12.2021, 15:43  [ТС]
TAVulator,
Python
1
2
3
4
5
        for file in filenames:
            if subdir in file:
                pass
            else:
                os.rename(os.path.join(filepath, file), os.path.join(filepath, f"{subdir}_{file}"))
Чтобы при повторном запуске, фаил снова не переименовывался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.12.2021, 15:43
Помогаю со студенческими работами здесь

Скрипт для переименования файлов расширения .doc
Подскажите пожалуйста как написать скрипт: Переименовать все файлы с расширением .doc, присвоив им имена: 1.doc, 2.doc, 3.doc и так...

Скрипт для переименования файлов с сохранением расширения
Всем привет. Прошу помочь с написанием скрипта BAT, т.к. сам я в нем полный ноль. Задача. Имеется несколько файлов: setup.exe ...

Outlook - скрипт для сохранения файлов по вложенной ссылке
Всем доброго дня! Прошу уточнить возможно ли реализовать описанную ниже схему через скрипт VBA или нет? В Outlook приходит письмо с...

Создать скрипт для переименования двух файлов в домашнем каталоге
1. Создать скрипт для переименования двух файлов в домашнем каталоге. 2. Создать скрипт для переименования файла, причем новое имя...

Скрипт для переименования большого количества файлов на ФИО в содержимом каждого файла
Добрый день! Как написать скрипт, который переименовывал бы файлы pdf лежащие в той же папке на ФИО, которые находятся в каждом таком...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru