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

Обновлено: 03.07.2024

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

Каталог в Python

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Удаление

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

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

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

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

Обработка файлов в 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 для переименования файлов может быть очень удобно, когда у нас есть много-много файлов, которые мы должны переименовать. Мы используем функцию rename() модуля ос.

Синтаксис Python для переименования файла

Параметры-

Итак, src= C:\articles\pythonpool.txt

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

Давайте посмотрим, как переименовать этот файл

Зачем использовать Python для переименования файла

Чтобы преобразовать файл .jpg в файл .jpg.

Предположим, у вас есть изображение собаки в той же папке статьи в формате jpg. Иногда вы хотите преобразовать jpg-файл в png-файл, и один из самых простых способов сделать это-использовать функцию rename(). Посмотрим, как.

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

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

Предположим, у нас есть папка, содержащая href="https://en.wikipedia.org/wiki/Image" >изображения собак, а имена такие случайные. Мы хотим преобразовать его в формат – dog1 dog2 dog3 … Для этого нам придется использовать еще несколько функций модуля "ос". Мы узнаем о них, изучая код. href="https://en.wikipedia.org/wiki/Image" >изображения собак, а имена такие случайные. Мы хотим преобразовать его в формат – dog1 dog2 dog3 … Для этого нам придется использовать еще несколько функций модуля "ос". Мы узнаем о них, изучая код.

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

Иногда мы хотим добавить текущую дату к имени файла. Для этого мы будем использовать модуль datetime, который поставляется с предустановленным python, и нам просто нужно его импортировать.

Должен Читать:

  • Как преобразовать строку в нижний регистр в
  • Как вычислить Квадратный корень
  • Пользовательский ввод | Функция ввода () | Ввод с клавиатуры
  • Лучшая книга для изучения Python

Переименование файла с помощью shutil

Использование библиотеки shutil - это еще один вариант переименования файла. Он точно не переименовывает файл, но перемещает один файл в другой. Это не очень хороший вариант, потому что если мы хотим переименовать файл и он открыт в вашей системе, то он создаст новый файл, и у вас будет два разных файла.

Некоторые распространенные ошибки при использовании Python для переименования файла

Иногда путь, указанный нами, неверен или каталог не существует, поэтому интерпретатор выдает ошибку. Чтобы избежать ошибки, мы можем проверить, существует ли файл или нет. Давайте узнаем, как это сделать.

Вывод

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

Попробуйте запустить программы на вашей стороне и дайте мне знать, если у вас есть какие-либо вопросы.

Favorite

Добавить в избранное (1 оценок, среднее: 5,00 из 5)

PythonNet

Чтобы переименовать файл с помощью модуля ОС Python, следуйте процедуре, приведенной ниже:

Переименовать файл в Python с помощью модуля ОС в Ubuntu

  • Файл должен существовать ранее
  • Любая версия Python должна быть установлена ​​в вашей системе Linux.

Модуль ОС Python позволяет выполнять различные операции, связанные с операционной системой. Переименование файла также является одной из операций операционной системы, которую можно выполнить с помощью функции модуля ОС Python os.rename().

Теперь выполните следующую процедуру, чтобы изменить имя файла с помощью модуля ОС Python:

Создание файла в Python: сначала вам нужно создать файл Python с помощью редактора nano, например, мы создали файл Python_file.py с помощью указанной ниже команды:

Вы можете установить имя файла по вашему выбору.

Использование функции «os.rename» для переименования файла

Чтобы переименовать файл в текущем каталоге: Указанный ниже синтаксис функции «os.rename ()» будет использоваться для переименования файла в текущем каталоге:

  • исходный файл : старое имя файла
  • целевой файл : новое имя файла

Теперь напишите указанный ниже код в Python_file, чтобы переименовать «old_andreyex.txt» в «new_andreyex.txt» в текущем каталоге:

«import os» используется для импорта модуля ОС в программу:

Нажмите «ctrl + s», чтобы сохранить файл, и «ctrl + x», чтобы выйти из файла.

Теперь, чтобы выполнить файл, запустите указанную ниже команду, я использую Python3 для выполнения Python_file.py, поскольку Python3 предварительно установлен в системе Ubuntu:

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

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

Чтобы переименовать файл в каталоге отдельно от текущего каталога: Для переименования файла будет использоваться указанный ниже синтаксис функции «os.rename()»:

  • исходный файл: путь к файлу + старое имя файла
  • целевой файл: путь к файлу + измененное/новое имя файла

Теперь напишите указанный ниже код в Python_file.py, чтобы переименовать «old_andreyex.txt» в «new_andreyex.txt» в каталоге рабочего стола:

Нажмите « ctrl + s », чтобы сохранить файл, и « ctrl + x », чтобы выйти из файла.

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

Теперь, чтобы убедиться, что файл переименован или нет, снова перечислите файлы каталога Desktop.

Чтобы переименовать несколько файлов: мы также можем изменить имя нескольких файлов одновременно. Например, у меня в каталоге рабочего стола есть три файла: file1, file2, file3, и мы хотим добавить префикс «andreyex_» ко всем трем именам файлов, а затем запустить указанный ниже код в «Python_file.py».

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

Заключение:

Функция модуля ОС Python под названием os.rename() используется для переименования файлов с помощью Python. Мы можем переименовывать файлы, используя разные методы, но в этой статье мы обсудили, как переименовывать файлы в текущем каталоге, кроме текущего каталога, и как переименовывать несколько файлов с помощью модуля Python OS. Если вы программист на Python и хотите переименовать файл/файлы с помощью Python, эта статья наверняка вам поможет.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Модуль стандартной библиотеки os (от «operation system») предоставляет множество полезных функций для произведения системных вызовов. Одна из базовых функций этого модуля — os.listdir .

С точки зрения операционной системы нет разницы между файлом, папкой или другим подобным объектом, типа ссылки. Поэтому os.listdir() возвращает список как файлов, так и папок. Обратите внимание, что порядок элементов возвращаемого списка не регламентируется, если вам нужно их отсортировать не забудьте сделать это:

Модуль os содержит подмодуль os.path , который позволяет работать с путями файлов и папок. Импортировать этот модуль отдельно не нужно, достаточно выполнить import os .

Присоединение одной части пути к другой

Работа с путями к файлам и папкам как с простыми строками чревата множеством ошибок и может создать проблемы при переносе программы между различными операционными системами. Правильный путь объединить две части пути — это использование os.path.join :

Извлечение имени файла из пути

Функция os.path.split совершает обратное действие — отрезает имя файла или ниже лежащей папки от пути:

Извлечение расширения

Кроме того, может пригодиться функция os.path.splitext , котоая отрезает расширение файла:

Проверка типа файла

Кроме прочего, модуль os.path содержит функции для проверки существования файла и для определения его типа:

Производите все манипуляции с файлами с осторожностью, придерживайтесь правила «семь раз отмерь — один раз отрежь». Не забывайте программно производить все возможные проверки перед выполнением операций.

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

Нет ничего проще, чем создать пустой файл, достаточно открыть несуществующий файл с флагом 'x' :

Конечно, можно было бы использовать флаг 'w' , но тогда уже существующий файл был бы стёрт. С флагом 'x' open либо создаст новый файл, либо выбросит ошибку.

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

Для создания новой папки используйте os.mkdir(name) . Эта функция выбросит ошибку, если по указанному пути уже существует файл или папка. Если вам нужно создать сразу несколько вложенных папок, то смотрите функцию os.makedirs(name, exist_ok=False) .

Перемещение и переименование

Для удобной манипуляции с файлами и папками в стандартной библиотеки Python существует специальный модуль shutil . Функция shutil.move(source, destination) позволяет вам переместить любой файл или папку (даже непустую). Обратите внимание, что если destination — это уже существующая папка, то файл/папка будет перемещена внутрь неё, в остальных случаях файл/папка будут скопированы точно по нужному адресу. В случае успеха, функция вернёт новое местоположение файла. Если destination существует и не является папкой, то будет выброшена ошибка.

Как же переименовать файл? Несмотря на то, что os содержит специальную функцию для переименования, нужно понимать, что в рамках одной файловой системы перемещение и переименование — это одно и то же. Когда вы переименовываете файл, его содержимое не переписывается на носителе в другое место, просто файловая система теперь обозначает его положение другим путём.

Копирование

Скопировать файл можно с помощью функции shutil.copy(source, destination) . Правила расположения копии будут те же, что и при использовании shutil.move , за тем исключением, что если destination существует и не является файлом, то он будет заменён и ошибки это не вызовет.

Скопировать папку для операционной системы сложнее, ведь мы всегда хотим скопировать не только папку, но и её содержимое. Для копирования папок используйте shutil.copytree(source, destination) . Обратите внимание, что для этой функции destination всегда должно быть путём конечного расположения файлов и не может быть уже существующей папкой.

Удаление

Удалить файл можно с помощью функции os.remove , а пустую папку с помощью функции os.rmdir .

А вот для удаления папки с содержимым вновь понадобится shutil . Для удаления такой папки используйте shutil.rmtree .

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

  1. В текущей папке лежат файлы с расширениями .mp3 , .flac и .oga . Создайте папки mp3 , flac , oga и положите туда все файлы с соответствующими расширениями.
  2. В текущей папке лежит две других папки: vasya и mila , причём в этих папках могут лежать файлы с одинаковыми именами, например vasya/kursovaya.doc и mila/kursovaya.doc . Скопируйте все файлы из этих папок в текущую папку назвав их следующим образом: vasya_kursovaya.doc , mila_test.pdf и т.п.
  3. В текущей папке лежат файлы следующего вида: S01E01.mkv , S01E02.mkv , S02E01.mkv и т.п., то есть все файлы начинаются с S01 или S02 . Создайте папки S01 и S02 и переложите туда соответствующие файлы.
  4. В текущей папке лежат файлы вида 2019-03-08.jpg , 2019-04-01.jpg и т.п. Отсортируйте файлы по имени и переименуйте их в 1.jpg , 2.jpg , …, 10.jpg , и т.д.
  5. В текущей папке лежат две другие папки: video и sub . Создайте новую папку watch_me и переложите туда содержимое указанных папок (сами папки класть не надо).
  6. В текущей папке лежат файлы типа Nina_Stoletova.jpg , Misha_Perelman.jpg и т.п. Переименуйте их переставив имя и фамилию местами.
  7. В текущей папке лежит файл list.tsv , в котором с новой строки написаны имена некоторых других файлов этой папки. Создайте папку list и переложите в неё данные файлы.

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

Читайте также: