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 chowning y eliminación de archivos y directorios.
El método shutil.copyfileobj() en Python se usa para copiar el contenido de un objeto similar a un archivo a otro objeto similar a un archivo. De forma predeterminada, este método copia los datos en fragmentos y, si lo desea, también podemos especificar el tamaño del búfer a través del parámetro de longitud.
Este método copia el contenido del archivo desde la posición actual del archivo hasta el final del archivo.
Sintaxis: shutil.copyfileobj(fsrc, fdst[, longitud])
Parámetros:
fsrc: un objeto similar a un archivo que representa el archivo de origen que se copiará
fdst: un objeto similar a un archivo que representa el archivo de destino, donde se copiará fsrc.
longitud (opcional): un valor entero que indica el tamaño del búfer.
Los objetos similares a archivos son principalmente objetos StringIO, sockets conectados y objetos de archivo reales.
Tipo de devolución: este método no devuelve ningún valor.
Código: uso del método shutil.copyfileobj() para copiar el contenido del objeto similar a un archivo de origen en un objeto similar a un archivo de destino
Python3
# Python program to explain shutil.copyfileobj() method # importing shutil module import shutil # Source file source = 'file.txt' # Open the source file # in read mode and # get the file object fsrc = open(source, 'r') # destination file dest = 'file_copy.txt' # Open the destination file # in write mode and # get the file object fdst = open(dest, 'w') # Now, copy the contents of # file object f1 to f2 # using shutil.copyfileobj() method shutil.copyfileobj(fsrc, fdst) # We can also specify # the buffer size by passing # optional length parameter # like shutil.copyfileobj(fsrc, fdst, 1024) print("Contents of file object copied successfully") # Close file objects f1.close() f2.close()
Contents of file object copied successfully
Referencia: https://docs.python.org/3/library/shutil.html