Переименование файлов — распространенная задача в управлении файлами и автоматизации. В Python вы можете легко переименовывать файлы несколькими способами, в зависимости от ваших конкретных требований. В этой статье мы рассмотрим различные подходы к переименованию файлов в папке с помощью Python. Итак, приступим!
Метод 1: использование функции rename() модуля os
Модуль os в Python предоставляет удобный способ переименования файлов. Вот простой пример:
import os
def rename_files():
folder_path = '/path/to/folder/' # Replace with your actual folder path
for filename in os.listdir(folder_path):
if filename.endswith('.txt'): # Rename only files with a specific extension
new_name = filename.replace('old_text', 'new_text') # Replace 'old_text' with 'new_text'
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_name))
rename_files()
Метод 2: использование модуля pathlib
Модуль pathlib был представлен в Python 3.4 и обеспечивает объектно-ориентированный подход к путям файловой системы. Вот пример переименования файлов с использованием pathlib:
from pathlib import Path
def rename_files():
folder_path = Path('/path/to/folder/') # Replace with your actual folder path
for file_path in folder_path.iterdir():
if file_path.suffix == '.txt': # Rename only files with a specific extension
new_name = file_path.stem.replace('old_text', 'new_text') + file_path.suffix
file_path.rename(file_path.with_name(new_name))
rename_files()
Метод 3: использование функции move() модуля Shutil
Модуль Shutil в Python обеспечивает файловые операции высокого уровня. Мы можем использовать функцию move() для переименования файлов. Вот пример:
import shutil
def rename_files():
folder_path = '/path/to/folder/' # Replace with your actual folder path
for filename in os.listdir(folder_path):
if filename.endswith('.txt'): # Rename only files with a specific extension
new_name = filename.replace('old_text', 'new_text') # Replace 'old_text' with 'new_text'
shutil.move(os.path.join(folder_path, filename), os.path.join(folder_path, new_name))
rename_files()
Метод 4. Использование регулярных выражений (регулярных выражений).
Если у вас есть сложные шаблоны переименования, вы можете использовать возможности регулярных выражений. Модуль Python re может помочь в этом. Вот пример:
import re
import os
def rename_files():
folder_path = '/path/to/folder/' # Replace with your actual folder path
pattern = r'(\d{4})-(\d{2})-(\d{2})' # Regex pattern to match yyyy-mm-dd format
for filename in os.listdir(folder_path):
if filename.endswith('.txt'): # Rename only files with a specific extension
match = re.search(pattern, filename)
if match:
new_name = match.group(2) + '-' + match.group(3) + '-' + match.group(1) + '.txt'
os.rename(os.path.join(folder_path, filename), os.path.join(folder_path, new_name))
rename_files()
В этой статье мы рассмотрели несколько способов переименования файлов в папке с помощью Python. Мы рассмотрели методы использования модуля os, модуля pathlib, модуля Shutil и даже регулярных выражений. В зависимости от ваших конкретных требований и предпочтений вы можете выбрать метод, который наилучшим образом соответствует вашим потребностям. Имея в своем распоряжении эти методы, вы можете легко автоматизировать задачи переименования файлов и оптимизировать рабочие процессы управления файлами в Python.