1186 votes

Déplacement d'un fichier en python

J'ai regardé dans le python os ( interface http://docs.python.org/library/os.html ), mais était incapable de trouver une méthode pour déplacer un fichier. Comment faire l'équivalent d' $ mv ... en python?

>>> source_files = '/PATH/TO/FOLDER/*'
>>> destination_folder = 'PATH/TO/FOLDER'
>>> # equivalent of $ mv source_files destination_folder

1806voto

ig0774 Points 10389

284voto

Jim Calfas Points 561

Bien qu' os.rename() et shutil.move() permettra à la fois de renommer des fichiers, la commande qui est plus proche de l'Unix commande mv est - shutil.move(). La différence est que, os.rename() ne fonctionne pas si la source et la destination sont sur des disques différents, tout en shutil.move() ne se soucie pas de ce disque que les fichiers sont sur.

40voto

jmontross Points 1882

Pour l'os.renommer ou shutil.déplacer, vous devrez importer le module. Pas de caractère * est nécessaire pour obtenir tous les fichiers déplacés.

Nous avons un dossier dans /opt/génial appelé source avec un fichier nommé awesome.txt.

in /opt/awesome
○ → ls
source
○ → ls source
awesome.txt

python 
>>> source = '/opt/awesome/source'
>>> destination = '/opt/awesome/destination'
>>> import os
>>> os.rename(source, destination)
>>> os.listdir('/opt/awesome')
['destination']

Nous avons utilisé des os.listdir de voir que le nom du dossier en fait changé. Voici la shutil le déplacement de la destination vers la source.

>>> import shutil
>>> shutil.move(destination, source)
>>> os.listdir('/opt/awesome/source')
['awesome.txt']

Cette fois, j'ai vérifié à l'intérieur du dossier source pour être sûr de la awesome.txt fichier que j'ai créé il existe. Il est là :)

Maintenant, nous avons déplacé un dossier et ses fichiers à partir d'une source à une destination et de retour.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X