Как переименовать файл в python
Перейти к содержимому

Как переименовать файл в python

Функция rename() модуля os в Python.

Функция rename() модуля os переименовывает файл или каталог с именем src в dst . Если имя dst уже существует, то операция os.rename() , в ряде случаев, может завершится с подклассом исключения OSError .

В Windows, если dst уже существует, всегда возникает ошибка FileExistsError .

В Unix, если src — это файл, а dst — это каталог или наоборот, то поднимаются исключения IsADirectoryError или NotADirectoryError соответственно.

Если оба являются каталогами и dst пуст, то dst будет заменен без уведомления.Если dst является непустым каталогом, возникает OSError .Если оба являются файлами, то dst будет заменен без уведомления, если у пользователя есть разрешение.

Операция может завершиться с ошибкой на некоторых разновидностях Unix, если src и dst находятся на разных файловых системах. В случае успеха, переименование будет атомарной операцией, это требование POSIX.

Работа с файлами в Python с помощью модуля OS

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

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

Важно знать, что модуль os используется не только для работы с файлами. Он включает массу методов и инструментов для других операций: обработки переменных среды, управления системными процессами, а также аргументы командной строки и даже расширенные атрибуты файлов, которые есть только в Linux.

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

Вывод текущей директории

Для получения текущего рабочего каталога используется os.getcwd() :

os.getcwd() возвращает строку в Юникоде, представляющую текущий рабочий каталог. Вот пример вывода:

Создание папки

Для создания папки/каталога в любой операционной системе нужна следующая команда:

После ее выполнения в текущем рабочем каталоге тут же появится новая папка с названием «folder».

Если запустить ее еще раз, будет вызвана ошибка FileExistsError , потому что такая папка уже есть. Для решения проблемы нужно запускать команду только в том случае, если каталога с таким же именем нет. Этого можно добиться следующим образом:

Функция os.path.isdir() вернет True , если переданное имя ссылается на существующий каталог.

Изменение директории

Менять директории довольно просто. Проделаем это с только что созданным:

Еще раз выведем рабочий каталог:

Создание вложенных папок

Предположим, вы хотите создать не только одну папку, но и несколько вложенных:

Это создаст три папки рекурсивно, как показано на следующем изображении:

Создание вложенных папок

Создание файлов

Для создания файлов в Python модули не нужны. Можно использовать встроенную функцию open() . Она принимает название файла, который необходимо создать в качестве первого параметра и желаемый режим открытия — как второй:

w значит write (запись), a — это appending (добавление данных к уже существующему файлу), а r — reading (чтение). Больше о режимах открытия можно почитать здесь.

Переименование файлов

С помощью модуля os достаточно просто переименовать файл. Поменяем название созданного в прошлом шаге.

Управление каталогами и файлами в Python

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

Каталог в Python

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

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

Получить текущий каталог

Мы можем получить текущий рабочий каталог с помощью метода getcwd() модуля os.

Этот метод возвращает текущий рабочий каталог в виде строки. Мы также можем использовать метод getcwdb(), чтобы получить его как байтовый объект.

Дополнительная обратная косая черта подразумевает escape-последовательность. Функция print() отрендерит это правильно.

Смена каталога

Мы можем изменить текущий рабочий каталог с помощью метода chdir().

Новый путь, который мы хотим изменить, должен быть передан этому методу в виде строки. Мы можем использовать как прямую косую черту /, так и обратную косую черту \ для разделения элементов пути.

При использовании обратной косой черты безопаснее использовать escape-последовательность.

Как получить список каталогов и файлов в Python?

Все файлы и подкаталоги внутри каталога можно получить с помощью метода listdir().

Этот метод принимает путь и возвращает список подкаталогов и файлов по этому пути. Если путь не указан, возвращается список подкаталогов и файлов из текущего рабочего каталога.

Создание нового каталога

Мы можем создать новый каталог с помощью метода mkdir().

Этот метод принимает путь к новому каталогу. Если полный путь не указан, новый каталог создается в текущем рабочем каталоге.

Переименование каталога или файла

Метод rename() может переименовать каталог или файл.

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

Удаление

Файл можно удалить (удалить) с помощью метода remove().

Точно так же метод rmdir() удаляет пустой каталог.

Примечание: Метод rmdir() может удалять только пустые каталоги.

Чтобы удалить непустой каталог, мы можем использовать метод rmtree() внутри модуля shutil.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *