В Python есть четыре разных способа, как переименовать файл.

Содержание

Способ 1: метод os.rename()

Модуль os является частью стандартной библиотеки Python, предназначенной для обеспечения переносимого способа использования функций, зависящих от операционной системы.

Функция os.rename (src, dst) — одна из простых функций работы с файлами. Он напрямую соответствует базовой функции переименования системы. Основная цель — переименовать файл или каталог в Python из src (имя источника) в dst (имя назначения).

Синтаксис:

import os

os.rename(src, dst)

Сценарий: Представьте, что мы начинающий музыкант из Нэшвилла, штат Теннесси, который часто называют «Музыкальным городом» США. Мы только что записали необработанный трек под названием «Nashville_Nights_raw.mp3». После некоторых настроек мы хотим переименовать его в «Nashville_Nights_final.mp3» в Python.

import os

source_name = "Nashville_Nights_raw.mp3"
destination_name = "Nashville_Nights_final.mp3"

os.rename(source_name, destination_name)

Вывод: код успешно изменил имя файла в Python.

Переименуйте файл в b перед изменением

Способ 1. Метод os.rename() 

Способ 2: с помощью метода os.replace()

Метод os.replace() в стандартной библиотеке Python предназначен для переименования или перемещения файла или каталога, возможно, с перезаписью места назначения.

В отличие от os.rename(), метод Python os.replace() предназначен для принудительного использования. Если пункт назначения существует и является файлом, он будет заменен без запроса. Если местом назначения является каталог, возникнет ошибка.

Сценарий: Представьте, что мы метеоролог из Флориды, штата, известного своими частыми ураганами. Мы используем специализированное программное обеспечение на Python, которое генерирует модели прогнозирования предстоящих штормов. Однажды, анализируя погодные условия, программное обеспечение Python генерирует модель под названием «Hurricane_Prediction_July_Initial_Model.dat».

По мере того, как день продолжается и мы получаем больше спутниковых данных, программное обеспечение Python обновляет свою модель. Теперь мы хотим заменить исходную модель прогнозирования обновленной моделью с именем «Hurricane_Prediction_July_Updated_Model.dat».

import os

initial_model_path = "Hurricane_Prediction_July_Initial_Model.dat"
updated_model_path = "Hurricane_Prediction_July_Updated_Model.dat"

os.replace(initial_model_path, updated_model_path)

Вывод: код успешно изменил имя файла Python.

Способ 2. С помощью метода os.replace()

Файл Python после переименования

Метод 3: с использованием метода Shutil.move()

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

Функционирующий Shutil.move (src, dst) полезен для перемещения файлов(или каталогов), и во время этого перемещения он также может переименовывать их через Python. Он может работать в разных файловых системах и заботится о многих базовых деталях.

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

Сценарий: Мы рецензент книг в Бостоне. После прочтения книги мы составляем черновик обзора и сохраняем его как «book_review_draft.txt». После того как мы отредактировали и завершили наш обзор, мы решили переместить его из папки «Черновики» в папку «Final_Reviews» и переименовать его в «book_review_final.txt» через Python.

import shutil

source_path = "Drafts/book_review_draft.txt"
destination_path = "Final_Reviews/book_review_final.txt"

shutil.move(source_path, destination_path)

Выход:

Имя файла до переименования

Метод 3: с использованием метода Shutil.move()

Способ 4: с помощью метода path.rename()

Модуль pathlib в Python, представленный в Python 3.4, представляет набор классов для обработки путей файловой системы с семантикой, подходящей для различных операционных систем. Метод path.rename() внутри использует функцию os.rename(), но в Python он представлен объектно-ориентированным способом.

Преимущество pathlib — интуитивное управление путями, что делает его более читабельным и простым для понимания. Он абстрагирует различия в соглашениях об именах путей в разных ОС (например, косые черты) в Python.

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

Сценарий: Писатель из Нью-Йорка работает над своим последним художественным произведением. Они сохранили свою работу над разными разделами книги в виде отдельных файлов в каталоге. Изначально сегмент о Центральном парке они назвали «chapter_unknown.txt», но после доработки последовательности решили через Python переименовать его в «chapter_5_Central_Park.txt».

from pathlib import Path

source_path = Path("chapter_5_Central_Park.txt")
destination_path = "chapter_5_Central_Park.txt"

source_path.rename(destination_path)

Выход:

Способ 4: с помощью метода path.rename()

Имя файла после переименования

Заключение

В этой статье объясняется, как переименовать файл в Python с помощью четырех различных методов, таких как os.rename(), os.replace(), Shutil.move() и pathlib.rename(), с наглядными примерами.

Каждый метод предлагает свои уникальные преимущества: os для прямых операций, Shutil для утилит высокого уровня и pathlib для объектно-ориентированного и кроссплатформенного подхода. Выбор зависит от конкретных потребностей приложения и предпочтений разработчика.

Добавить комментарий