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

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

  • автор:

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

Пытаюсь переименовать файлы с русского на английский. Например если файл: Архив.rar нужно его переименовать в Archiv.rar. Но у меня выдаёт ошибку:

Traceback (most recent call last): File "C:\Projects\Test_Project\Test.py", line 100, in os.rename(split(file_path)[-1], new_name + '.' + split(file_path)[-1].split('.')[-1]) FileNotFoundError: [WinError 2] The system cannot find the file specified: 'Архив.rar' -> 'Arhiv.rar' 

То есть я правильно беру по срезам все, но не понимаю почему не работает.

Отслеживать

задан 14 янв в 5:49

196 11 11 бронзовых знаков

Если Вам не принципиален факт самостоятельной реализации транслитерации то pip install transliterate

14 янв в 6:25

Не пишите все в одну строчку. Используйте временные переменные и разберитесь на каком именно шаге у вас ошибка

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

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

1. Использование os.rename() функция

Простое решение для переименования файла в Python — использование os.rename() функция.

os . rename ( ‘filename.txt’ , ‘new_filename.txt’ )

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

os . rename ( ‘/path/to/dir/filename.txt’ , ‘/path/to/dir/new_filename.txt’ )

Если исходный и целевой каталоги совпадают, т.е. вы можете сделать так:

dir = ‘/path/to/dir’
old_file = os.path . join ( dir , ‘filename.txt’ )
new_file = os.path . join ( dir , ‘new_filename.txt’ )
os . rename ( old_file , new_file )

2. Использование shutil.move() функция

В качестве альтернативы вы можете использовать shutil модуль, который предлагает несколько операций высокого уровня над файлами. Вы можете использовать shutil.move() функция для переименования или перемещения файла.

import shutil
shutil . move ( ‘/path/to/dir/filename.txt’ , ‘/path/to/dir/new_filename.txt’ )

Это все о переименовании файла в Python.

Оценить этот пост

Средний рейтинг 4.85 /5. Подсчет голосов: 26

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂

Подписывайся
1 Комментарий
Большинство голосов
Новейшие Самый старый
Встроенные отзывы
Просмотреть все комментарии
Просмотр комментариев
Загрузить больше комментариев
Просматривать
Подпишитесь на новые публикации

  • Все проблемы
  • Практика DSA
  • 100 самых популярных задач
  • 50 лучших классических задач
  • Лучшие алгоритмы
  • Компилятор С/С++
  • Компилятор Java
  • Компилятор Python
  • Компилятор JavaScript
  • компилятор PHP
  • Компилятор C#
  • Свяжитесь с нами
  • Политика конфиденциальности
  • условия обслуживания
  • Подпишитесь на новые публикации

Techie Delight © 2023 Все права защищены.

Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно

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

Если имеется только имя файла, воспользуемся os.path.splitext() , который возвращает кортеж из имени файла и расширения:

import os for file in os.listdir():  name, ext = os.path.splitext(file) # return ('путь до файла без расщирения', '.txt')  new_name = f"name>_newext>"  os.rename(file, new_name) 

pathlib

С помощью встроенного модуля pathlib

Path.rename(new_name) 
from pathlib import Path for file in os.listdir():  f = Path(file)  new_name = f"f.stem>_newf.suffix>"  f.rename(new_name) 

shutil.move

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

import shutil  old_source = '/Users/r/Desktop/old_source.txt' new_source = '/Users/r/Desktop/new_source.txt'  newFileName = shutil.move(old_source, new_source)  print("Новый файл:", newFileName) # Новый файл: /Users/r/Desktop/new_source.txt 

Переименовать или заменить файл (каталог) средствами pathlib

Описанные ниже методы позволяют переименовать/заменить файл или каталог средствами модуля pathlib . Данные методы принадлежат экземпляру, созданному из класса Path() .

Так как класс pathlib.Path() наследуется от класса pathlib.PurePath() , следовательно он поддерживает все операции по манипуляции с путями файловой системы.

Смотрите другие методы и свойства, доступные экземпляру класса Path() модуля pathlib .

Содержание:

  • Переименовать файл (каталог)
  • Заменить файл (каталог)
Path.rename(target) :

Метод Path.rename() переименует файл или каталог пути path в указанную цель target . Значение target может быть либо строкой, либо другим объектом пути.

  • С версии Python-3.8 метод Path.rename() вернет новый экземпляр pathlib.Path() , содержащий новый путь.
  • Если target является объектом пути, то его можно использовать для дальнейших манипуляций файлом с новым именем.
  • В Unix, если target существует и является файлом, то он будет автоматически заменен, если у пользователя есть разрешение.
>>> from pathlib import Path >>> p = Path('foo') >>> p.open('w').write('some text') # 9 >>> target = Path('bar') >>> p.rename(target) >>> target.open().read() # 'some text' >>> target.unlink() 
Path.replace(target) :

Метод Path.replace() переименует файл или каталог пути path в указанную цель target . Значение target может быть либо строкой, либо другим объектом пути.

  • С версии Python-3.8 метод Path.rename() вернет новый экземпляр pathlib.Path() , содержащий новый путь.
  • Если target является объектом пути, то его можно использовать для дальнейших манипуляций файлом с новым именем.
  • Если target указывает на существующий файл или каталог, то он будет безоговорочно заменен.
>>> p = Path('myfile.txt') >>> p.write_text('This is short text') 18 >>> p.replace('other-file.ext') # Поведение метода до версии Python-3.8 >>> p.is_file() # False >>> p # PosixPath('myfile.txt') >>> p = Path('other-file.ext') >>> p.read_text() # 'This is short text' >>> p.unlink() 
  • КРАТКИЙ ОБЗОР МАТЕРИАЛА.
  • Класс pathlib.PurePath() и его подклассы
  • Класс pathlib.Path() и его подклассы
  • Манипуляции с путями файловой системы средствами pathlib
  • Проверить наличие файла/каталога/ссылки и т.д. средствами pathlib
  • Открытие файла, чтение и запись информации средствами pathlib
  • Определение положения в файловой системе средствами pathlib
  • Список файлов в папке/каталоге по шаблону средствами pathlib
  • Создание/удаление файла/каталога или ссылки средствами pathlib
  • Получение информации о файле/каталоге средствами pathlib
  • Изменение режима доступа к файлу или каталогу средствами pathlib
  • Переименование/замена файла или каталога средствами pathlib
  • Преобразование объекта пути pathlib в строку
  • Метод walk() модуля pathlib, рекурсивный обход каталога
  • Сравнение pathlib с модулями os и os.path

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

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