Maison >développement back-end >Tutoriel Python >Comment puis-je déplacer des fichiers en Python en utilisant `os.rename()`, `os.replace()` et `shutil.move()` ?

Comment puis-je déplacer des fichiers en Python en utilisant `os.rename()`, `os.replace()` et `shutil.move()` ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-11 12:12:151012parcourir

How Can I Move Files in Python Using `os.rename()`, `os.replace()`, and `shutil.move()`?

Déplacement de fichiers en Python

Python propose plusieurs méthodes pour accomplir la tâche de déplacement de fichiers, analogues à la commande mv dans les systèmes de type Unix . Ces méthodes incluent :

  • os.rename()
  • os.replace()
  • shutil.move()

Tous trois partagent une syntaxe cohérente :

import os
import shutil

os.rename("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
os.replace("path/to/current/file.foo", "path/to/new/destination/for/file.foo")
shutil.move("path/to/current/file.foo", "path/to/new/destination/for/file.foo")

Voici quelques considérations importantes lors du déménagement fichiers :

  • Le nom du fichier ("file.foo") doit être spécifié dans les chemins source et de destination. S'il diffère, le fichier sera renommé et déplacé.
  • Le répertoire parent du chemin de destination doit exister avant le déplacement du fichier.
  • Sur les systèmes Windows, le chemin de destination ne peut pas spécifier un fichier existant, car cela déclenchera une exception. Cependant, os.replace() écrasera silencieusement les fichiers existants.
  • shutil.move appelle généralement os.rename pour les déplacements de fichiers sur le même disque. Cependant, lorsque la destination et la source se trouvent sur des disques différents,shutil.move copie le fichier puis supprime l'original.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn