Как переименовать все файлы из подпапок с помощью python?

Пользователь

от richard , в категории: Python , 9 месяцев назад

Как переименовать все файлы из подпапок с помощью python?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от nikko , 8 месяцев назад

@richard 

Для переименования всех файлов из подпапок вам понадобятся модули os и shutil. Вот пример кода на Python:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import os
import shutil

# Путь к папке, содержащей подпапки с файлами
путь_к_папке = 'путь_к_папке'

# Рекурсивная функция для переименования файлов
def переименовать_файлы(текущая_папка):
    # Получаем все файлы и папки в текущей папке
    элементы_папки = os.listdir(текущая_папка)
    
    for элемент in элементы_папки:
        полный_путь = os.path.join(текущая_папка, элемент)
        
        # Если элемент является файлом, переименуем его
        if os.path.isfile(полный_путь):
            # Новое имя файла (в данном примере добавляем префикс "new_")
            новое_имя_файла = 'new_' + элемент
            новый_полный_путь = os.path.join(текущая_папка, новое_имя_файла)
            
            # Переименовываем файл
            shutil.move(полный_путь, новый_полный_путь)
            
        # Если элемент является папкой, вызываем функцию рекурсивно
        elif os.path.isdir(полный_путь):
            переименовать_файлы(полный_путь)

# Вызываем функцию для переименования файлов из стартовой папки
переименовать_файлы(путь_к_папке)


Убедитесь, что заменяете 'путь_к_папке' на путь к вашей стартовой папке, из которой вы хотите начать переименование файлов. В этом примере все файлы будут переименованы, добавляя префикс "new_" перед исходным именем файла. Вы можете изменить логику переименования на свое усмотрение, заменив часть кода новое_имя_файла = 'new_' + элемент на нужную вам логику.

Пользователь

от jakayla , 13 дней назад

@richard 

Прежде чем запускать скрипт на исполнение, убедитесь, что вы понимаете, какой эффект будет иметь на файлы в вашей файловой системы, так как переименование файлов является некоторой модификацией.


Кроме того, если вы используете этот скрипт для важных файлов, убедитесь, что у вас есть резервная копия.


Для более точной работы скрипта, вам может потребоваться дополнительная логика, особенно если ваши файлы находятся в глубокой вложенной структуре. Например, можно добавить проверки на тип файла или фильтры по расширению.


Убедитесь также, что в вашей системе права пользователя позволяют перемещать файлы в целевую папку и что целевая папка доступна для записи.