Python Renommer le fichier et le répertoire en utilisant os.rename()

⚡ Résumé intelligent

Python Renommer des fichiers et des répertoires avec os.rename(). Vous découvrirez ici os.rename(), os.renames(), shutil.move() et pathlib Path.rename(), ainsi que comment renommer un répertoire et renommer plusieurs fichiers par lots grâce à des exemples clairs.

  • os.rename(): os.rename(src, dst) renomme un fichier ou un répertoire ; la source doit exister.
  • 🇧🇷 os.renames(): La fonction os.renames() crée également automatiquement les dossiers de destination manquants.
  • 🚚 shutil.move(): shutil.move() renomme et peut déplacer des fichiers entre systèmes de fichiers.
  • (I.e. pathlib : Path.rename() renomme les fichiers de manière orientée objet (Python 3.4+).
  • 🤖 Aide de l'IA : Les outils d'IA comme Copilot génèrent instantanément du code de renommage et de renommage par lots.

Python Renommer le fichier os.rename()

Python fichier Renommer

Python renommer() fichier est une méthode utilisée pour renommer un fichier ou un répertoire dans Python programmation. Le Python La méthode de fichier rename() peut être déclarée en passant deux arguments nommés src (Source) et dst (Destination).

Syntaxe

C'est la syntaxe de la méthode os.rename()

os.rename(src, dst)

Paramètres

src: La source est le nom du fichier ou du répertoire. Cela devrait déjà exister.

dst : La destination est le nouveau nom du fichier ou du répertoire que vous souhaitez modifier.

Exemple :

import os  
os.rename('guru99.txt','career.guru99.txt')

Regardons l'exemple en détail

Vous pouvez renommer le fichier d'origine, nous avons changé le nom du fichier de «Guru99.txt” à “Career.guru99.txt”.

Python fichier Renommer

  • Pour renommer le fichier « guru99.txt », nous allons utiliser la « fonction renommer » dans le module OS
  • Ainsi, lorsque le code est exécuté, vous pouvez observer qu'un nouveau fichier « career.guru99.txt » est créé sur le côté droit du panneau, que nous avons renommé pour notre fichier d'origine.

Voici le code complet

import os
import shutil
from os import path

def main():
	# make a duplicate of an existing file
    if path.exists("guru99.txt"):
	# get the path to the file in the current directory
        src = path.realpath("guru99.txt");
		
	# rename the original file
        os.rename('guru99.txt','career.guru99.txt') 
		
if __name__ == "__main__":
    main()

Comment renommer un répertoire dans Python

La méthode os.rename() renomme également les répertoires, et pas seulement les fichiers. Indiquez le nom du dossier courant comme source et le nouveau nom comme destination.

import os
os.rename("old_directory", "new_directory")

Si le répertoire source n'existe pas, Python génère une erreur FileNotFoundError, il est donc recommandé de vérifier d'abord le chemin d'accès.

Renommer un fichier à l'aide de os.renames()

La méthode os.renames() renomme un fichier et crée automatiquement les répertoires intermédiaires manquants dans le chemin de destination. Elle supprime également les répertoires vides présents dans le chemin source.

import os
os.renames("guru99.txt", "archive/2024/career.txt")

Ici, les dossiers « archive » et « 2024 » sont créés automatiquement s'ils n'existent pas déjà.

Renommer un fichier à l'aide de shutil.move()

La fonction shutil.move() déplace un fichier vers un nouvel emplacement, ce qui a pour effet de le renommer lorsque la destination est le même répertoire.

import shutil
shutil.move("guru99.txt", "career.guru99.txt")

Contrairement à os.rename(), shutil.move() peut également déplacer un fichier entre différents systèmes de fichiers ou lecteurs.

Renommer un fichier à l'aide du module pathlib

In Python À partir de la version 3.4, le module pathlib propose une méthode Path.rename() orientée objet pour renommer les fichiers.

from pathlib import Path

file = Path("guru99.txt")
file.rename("career.guru99.txt")

La méthode rename() renvoie un nouvel objet Path qui pointe vers le fichier renommé.

Comment renommer plusieurs fichiers dans Python

Pour renommer plusieurs fichiers simultanément, parcourez les fichiers d'un répertoire avec `os.listdir()` et appelez `os.rename()` pour chacun d'eux. L'exemple ci-dessous ajoute un préfixe numérique à chaque fichier.

import os

folder = "myfiles"
for count, filename in enumerate(os.listdir(folder)):
    new_name = f"file_{count}.txt"
    os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))

L'utilisation de os.path.join() permet de garantir le bon fonctionnement du code sur n'importe quel système d'exploitation.

FAQ

Importez le module os et appelez os.rename(src, dst), en lui passant le nom du fichier actuel et le nouveau nom. Le fichier source doit déjà exister, ou Python Lève une erreur FileNotFoundError.

os.rename() renomme un seul fichier ou répertoire, tandis que os.renames() crée également les répertoires intermédiaires manquants et supprime les dossiers sources vides après le déplacement.

Oui. shutil.move(src, dst) renomme un fichier lorsque la destination est le même dossier, et peut également déplacer des fichiers entre différents systèmes de fichiers, contrairement à os.rename().

Utilisez os.rename('old_dir', 'new_dir'). La même fonction os.rename() fonctionne aussi bien pour les fichiers que pour les répertoires, à condition que le répertoire source existe.

Parcourez le répertoire du dossier (os.listdir(folder)) et appelez la méthode os.rename() pour chaque fichier. Utilisez os.path.join() pour construire les chemins complets afin que le code fonctionne sur n'importe quel système d'exploitation.

Les assistants IA comme GitHub Copilot complètent automatiquement les appels os.rename() et pathlib, et génèrent des boucles de renommage par lots à partir d'un commentaire décrivant le modèle de nommage souhaité.

Oui. Les outils basés sur l'IA peuvent automatiser l'écriture de scripts de renommage par lots, appliquer des modèles tels que des préfixes de numérotation ou de date, et ajouter une gestion des erreurs pour les noms manquants ou en double.

On WindowsLa méthode `os.rename()` lève une exception `FileExistsError` si le répertoire de destination existe déjà. Sous Unix, elle écrase silencieusement les fichiers existants. Il est donc recommandé de vérifier l'existence du répertoire de destination avec `os.path.exists()` au préalable afin d'éviter toute perte de données.

Résumez cet article avec :