🐍 Как переименовать все файлы в папке с помощью Python?
import os
def rename_files(folder_path, new_name):
file_list = os.listdir(folder_path)
for file_name in file_list:
if os.path.isfile(os.path.join(folder_path, file_name)):
new_file_name = file_name.replace(file_name, new_name)
os.rename(os.path.join(folder_path, file_name), os.path.join(folder_path, new_file_name))
# Пример использования
folder_path = "/путь/к/папке"
new_name = "новое_имя"
rename_files(folder_path, new_name)
Детальный ответ
Как переименовать все файлы в папке Python
В Python существует несколько способов переименования всех файлов в заданной папке. В этой статье мы рассмотрим два основных подхода, которые помогут вам достичь этой цели.
1. Использование модуля os
Модуль os предоставляет множество функций для работы с операционной системой, включая переименование файлов. Для переименования всех файлов в папке вы можете использовать функцию os.rename(). Вот пример кода:
import os
folder_path = 'путь_к_папке'
new_file_extension = '.txt'
for filename in os.listdir(folder_path):
if not os.path.isdir(filename):
new_filename = os.path.splitext(filename)[0] + new_file_extension
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_filename))
В этом примере мы указываем путь к папке, в которой находятся файлы, которые нужно переименовать. Затем мы создаем новое расширение файла, которое будет добавлено к имени каждого файла после переименования. Затем мы перебираем все файлы в папке, проверяем, является ли каждый файл файлом (а не папкой), создаем новое имя файла, используя функцию os.path.splitext() для удаления текущего расширения файла и добавления нового расширения. Затем мы применяем функцию os.rename() для переименования файла.
2. Использование модуля glob
Модуль glob предоставляет функцию glob(), которая позволяет нам получить список файлов в папке, соответствующих определенному шаблону. Мы можем использовать эту функцию в комбинации с функцией os.rename(), чтобы переименовать все файлы в папке. Вот пример кода:
import os
import glob
folder_path = 'путь_к_папке'
new_file_extension = '.txt'
files = glob.glob(os.path.join(folder_path, '*'))
for file in files:
if not os.path.isdir(file):
new_filename = os.path.splitext(os.path.basename(file))[0] + new_file_extension
os.rename(file, os.path.join(folder_path, new_filename))
В этом примере мы используем функцию glob() для получения списка всех файлов в папке, используя шаблон '*'. Затем мы перебираем каждый файл в списке, проверяем, является ли он файлом (а не папкой), создаем новое имя файла, используя функцию os.path.splitext() и функцию os.path.basename() для получения базового имени файла. Затем мы применяем функцию os.rename() для переименования файла.
Заключение
Теперь у вас есть два основных подхода к переименованию всех файлов в папке с помощью Python. Вы можете выбрать подход, который наиболее удобен для вас и применять его в своих проектах. Удачи в вашем программировании!