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 –

  1. Déclaration d'une variable
  2. Application de la fonction de partage sur une variable

Copier un fichier dans Python

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 ».

Copier un fichier dans Python

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 ».

Copier un fichier dans Python

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.

Copier un fichier dans Python

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é

Copier un fichier dans Python

  • 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)