Copier le fichier en Python :méthode shutdown.copy(), shutdown.copystat()
Méthodes de copie de fichier Python
Python fournit des fonctions intégrées pour copier facilement des fichiers à l'aide des utilitaires du système d'exploitation.
La commande suivante est utilisée pour copier le fichier
shutil.copy(src,dst)
La commande suivante est utilisée pour copier le fichier avec les informations de métadonnées
shutil.copystat(src,dst)
Comment copier un fichier en Python
Voici les étapes pour copier un fichier en Python à l'aide de la méthode shutdown copy() :
Étape 1) Capturer le chemin d'origine dans le répertoire courant
Avant de copier un fichier, nous devons obtenir le chemin d'accès au fichier d'origine dans le répertoire courant. Dans le code –
- Déclarer une variable
- Appliquer la fonction split sur la variable
Explication du code
- Nous allons d'abord vérifier que notre fichier "guru99.txt" existe ou non. Puisque nous avons créé le fichier guru99.txt plus tôt, nous savons qu'il existe, et nous continuerons avec le code
- Nous stockons le chemin du fichier dans la variable "src ” si votre fichier existe
- Une fois que nous obtenons le chemin, nous allons séparer le chemin et le nom du fichier
- Pour cela, nous allons utiliser le split
path.split
fonction sur la variable source - Le code lorsqu'il est exécuté affiche "nom de fichier " et " chemin du fichier ” séparément
Étape 2) Créer une copie de notre fichier existant à l'aide du module shutdown
Nous utilisons le module Shutil pour créer une copie du fichier existant. Ici, nous avions l'habitude de créer une copie de notre fichier existant "guru99.txt".
Explication du code
- Prenez le nom de fichier d'origine "guru99.txt" et ajoutez les lettres .bak à la fin "guru99.txt.bak". Ce nom avec l'extension .bak va être notre copie en double
- Et ensuite, nous allons utiliser la fonction de copie de l'utilitaire pour copier de la source vers la destination
- Lorsque vous exécutez le code, vous verrez un fichier en double avec l'extension .bak est créé sur le côté droit du panneau
Étape 3) Copier les métadonnées associées au fichier, l'autorisation du fichier et d'autres informations
La fonction de copie copie uniquement le contenu du fichier mais aucune autre information. Pour copier des méta-données associé au fichier, autorisation de fichier et autres informations que vous devez utiliser "copystat " fonction. Avant d'exécuter ce code, nous devons supprimer notre fichier de copie "guru99.text.bak".
Une fois que vous avez supprimé le fichier et exécuté le programme, il créera une copie de votre fichier .txt mais cette fois avec toutes les informations telles que l'autorisation du fichier, l'heure de modification et les informations de métadonnées . Vous pouvez accéder à votre shell de système d'exploitation pour vérifier les informations.
Voici le code
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"); #seperate the path from the filter head, tail = path.split(src) print("path:" +head) print("file:" +tail) #let's make a backup copy by appending "bak" to the name dst = src+".bak" # nowuse the shell to make a copy of the file shutil.copy(src, dst) #copy over the permissions,modification shutil.copystat(src,dst) if __name__=="__main__": main()
Étape 4) Récupérer les informations
Vous pouvez récupérer les informations sur le fichier texte modifié en dernier
- Ligne de code #15 - Elle indique le jour, la date, le mois, l'année et l'heure de la dernière modification du fichier .txt (guru99). Nous utilisons le module path pour obtenir les détails de l'heure de modification du fichier, puis nous allons utiliser la fonction time classes c time pour convertir cela en un temps lisible. Ainsi, lorsque nous exécutons le code, nous pouvons voir que le fichier guru99.txt a été modifié pour la dernière fois le lundi 8 janvier th à 13h35 2018.
- Code Line#17- Il fait la même chose en donnant des informations sur la modification du fichier, mais il a un format différent pour le représenter. Ici, nous utilisons la fonction Get Modification Time (chemin.getmtime(“guru99.txt”)). Maintenant, au lieu d'utiliser la fonction de temps c, nous allons utiliser la fonction From Time Stamp et va construire un objet date-heure. En sortie, vous pouvez voir que les détails de l'heure de modification du fichier sont imprimés dans un format différent 2018-01-08, 13:35:51.334072
Voici le code
# # Example file for working with o.s path module import os from os import path import datetime from datetime import date, time, timedelta import time def main(): # Get the modification time t = time.ctime(path.getmtime("guru99.txt.bak")) print(t) print(datetime.datetime.fromtimestamp(path.getmtime("guru99.txt.bak"))) if __name__ == "__main__": main()
Résumé
- Pour créer une copie du fichier existant en utilisant le code shutil.copy (src,dst)
- Pour copier toutes les informations du fichier d'origine dans le fichier dupliqué comme l'autorisation du fichier, l'heure de modification ou les informations de métadonnées en utilisant le code shutdown.copystat(src,dst)
Python
- Types de données Python
- Opérateurs Python
- Instruction de passe Python
- Arguments de la fonction Python
- Dictionnaire Python
- E/S de fichier Python
- Longueur de la chaîne Python | Méthode len() Exemple
- Méthode Python String find() avec exemples
- Python vérifie si le fichier existe | Comment vérifier si un répertoire existe en Python