Copier le fichier dans Python: méthode shutdown.copy(), méthode shutdown.copystat()
Python Méthodes de copie de fichier
Python fournit des fonctions intégrées pour copier facilement des fichiers à l'aide du Operautilitaires System Shell.
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 dans Python
Voici les étapes pour copier le fichier dans Python en utilisant la méthode shutdown() :
Étape 1) Capturez 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éclaration d'une variable
- Application de la fonction de partage sur une 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 avons 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 une fois exécuté imprime «nom de fichier" et "chemin du fichier" séparément
Étape 2) Créer une copie de notre fichier existant en utilisant le module Shutil
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 du fichier original « guru99.txt » et ajoutez les lettres .bak à la fin « guru99.txt.bak ». Ce nom avec l'extension .bak sera notre duplicata
- Et puis 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 créé sur le côté droit du panneau.
Étape 3) Copiez 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. Copier métadonnées associé au fichier, à l'autorisation du fichier et à d'autres informations que vous devez utiliser "copiestat" 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 autorisation du fichier, heure de modification et informations sur les métadonnées. Vous pouvez accéder au shell de votre 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 pour la dernière fois modifié
-
Ligne de code n°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 le classes de temps c fonction de temps pour convertir cela en une heure 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 Lun., 8 janv.th à 13h35 2018.
-
Ligne de code n°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 Fonction Obtenir le temps de modification (chemin.getmtime("guru99.txt")). Maintenant, au lieu d'utiliser la fonction c time, nous allons utiliser À partir de la fonction Horodatage et je vais 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 close.copy (src,dst)
- Pour copier toutes les informations du fichier original pour dupliquer le fichier comme autorisation du fichier, heure de modification ou informations sur les métadonnées en utilisant le code shutdown.copystat(src,dst)