Python | método shutil.copystat()

El módulo Shutil en Python proporciona muchas funciones de operaciones de alto nivel en archivos y colecciones de archivos. Viene bajo los módulos de utilidad estándar de Python. Este módulo ayuda a automatizar el proceso de copia y eliminación de archivos y directorios.
El método shutil.copystat() en Python se usa para copiar los bits de permiso , la hora del último acceso, la hora de la última modificación y el valor de las banderas de la ruta de origen dada a la ruta de destino dada. 
El método shutil.copystat() no afecta el contenido del archivo ni la información del propietario y del grupo. 
En Linux, este método también intenta copiar algunos atributos extendidos además de los bits de permiso .hora del último acceso, hora de la última modificación y valor de las banderas .
 

Sintaxis: shutil.copystat(fuente, destino, *, follow_symlinks = True)
Parámetro: 
fuente : una string que representa la ruta del archivo fuente. 
destino : una string que representa la ruta del archivo de destino. 
follow_symlinks (opcional): el valor predeterminado de este parámetro es True. Si es Falso y tanto el origen como el destino se refieren a un enlace simbólico, entonces el método shutil.copystat() operará en los enlaces simbólicos mismos en lugar de los archivos a los que se refieren los enlaces simbólicos.
Nota: El ‘*’ en la lista de parámetros indica que todos los siguientes parámetros (aquí, en nuestro caso, ‘follow_symlinks’) son parámetros de solo palabras clave y se pueden proporcionar usando su nombre, no como parámetro posicional.
Tipo de devolución: este método no devuelve ningún valor. 
 

Código: uso del método shutil.copystat() para copiar metadatos de la ruta de origen a la de destino 
 

Python3

# Python program to explain shutil.copystat() method
   
# importing os module
import os
 
# importing shutil module
import shutil
 
# importing time module
import time
 
 
# Source file path
src = "/home/ihritik/Desktop/sam3.pl"
 
 
# Destination file path
dest = "/home/ihritik/Desktop/encry.py"
 
 
# Print the permission bits
# last access time, last modification time
# and flags value of source and destination files
print("Before using shutil.copystat() method:")
print("Source metadata:")
print("Permission bits:", oct(os.stat(src).st_mode)[-3:])
print("Last access time:", time.ctime(os.stat(src).st_atime))
print("Last modification time:", time.ctime(os.stat(src).st_mtime))
# print("User defined Flags:", os.stat(src).st_flags)
 
# Note: st_flags attribute is platform dependent
# and is subject to availability
 
print("\nDestination metadata:")
print("Permission bits:", oct(os.stat(dest).st_mode)[-3:])
print("Last access time:", time.ctime(os.stat(dest).st_atime))
print("Last modification time:", time.ctime(os.stat(dest).st_mtime))
# print("User defined Flags:", os.stat(dest).st_flags)
 
 
# Copy the permission bits
# last access time, last modification time
# and flags value from source to destination
shutil.copystat(src, dest)
 
 
# Print the permission bits
# last access time, last modification time
# and flags value of destination
print("\nAfter using shutil.copystat() method:")
print("Destination metadata:")
print("Permission bits:", oct(os.stat(dest).st_mode)[-3:])
print("Last access time:", time.ctime(os.stat(dest).st_atime))
print("Last modification time:", time.ctime(os.stat(dest).st_mtime))
# print("User defined Flags:", os.stat(dest).st_flags)
 
print("Permission bits, last access time and last modification time\n\
copied from source to destination successfully")
Producción: 

Before using shutil.copystat() method:
Source metadata:
Permission bits: 664
Last access time: Mon Jun 10 00:37:16 2019
Last modification time: Thu Dec 27 00:15:23 2018

Destination metadata:
Permission bits: 777
Last access time: Fri Apr 12 01:13:25 2019
Last modification time: Thu Apr 11 02:03:45 2019

After using shutil.copystat() method:
Destination metadata:
Permission bits: 664
Last access time: Mon Jun 10 00:37:16 2019
Last modification time: Thu Dec 27 00:15:23 2018

Permission bits, last access time and last modification time
copied from source to destination successfully

 

Referencia: https://docs.python.org/3/library/shutil.html
 

Publicación traducida automáticamente

Artículo escrito por ihritik y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *