archivo de copia de Python

Funciones y métodos de Python

Es posible que deba copiar un archivo en varios programas. Imagínese si quisiera crear una función de registro para su programa que comience con un conjunto de texto predefinido. Puede crear una copia de un archivo de registro en blanco existente para cada registro que desee crear.

La biblioteca shutil de Python viene con una serie de funciones para copiar archivos. En esta guía, hablamos sobre cómo usar los métodos shutil.copy () y shutil.copy2 () para copiar un archivo usando el lenguaje de programación Python. Comencemos.




Copiar archivo de Python

La biblioteca shutil de Python, que le permite manipular archivos y directorios, contiene métodos para copiar archivos. Los métodos copy () y copy2 () se utilizan comúnmente porque le permiten copiar los permisos asociados con un archivo existente.

El La diferencia entre copy () y copy2 () es que el primero no copia los metadatos asociados con los archivos (las piezas de información sobre un archivo, como quién creó el archivo) mientras que este último copia esta información.

Analicemos cómo usar cada uno de estos dos métodos.




Python shutil.copy ()

Creemos un programa que genere boletas de calificaciones para cada estudiante en una escuela. Para empezar, queremos crear archivos para cada alumno de nuestra clase. Los archivos deben comenzar con:

 ------------- ------------------------------------- Boleta de calificaciones de la escuela Career Karma -------- ------------------------------------------ INICIO DE LA TRANSCRIPCIÓN DEL ESTUDIANTE ---- ---------------------------------------------- 

Esta información ya está en un archivo llamado template.txt. Queremos copiar esta plantilla para crear un archivo para cada estudiante de nuestra escuela. Para comenzar, importemos la biblioteca shutil que usaremos para copiar nuestros archivos y luego definamos una lista de estudiantes:

 import shutil Students = [" Lucy "," Peter "," Chad "] 

Vamos a iterar sobre esta lista y crear una transcripción en blanco para cada estudiante:

El 81% de los participantes dijeron que se sentían más seguros acerca de sus perspectivas laborales después de asistir a un campamento de entrenamiento. Asigne a un bootcamp hoy.

El graduado promedio de bootcamp pasó menos de seis meses en la transición profesional, desde comenzar un bootcamp hasta encontrar su primer trabajo.

Este ciclo pasa por todos los estudiantes en nuestra lista. Copiamos el archivo template.txt y pegamos ese archivo en / home / james / students / data / para cada estudiante. El archivo de cada alumno tiene el nombre:

 [Nombre del alumno] .txt 

El valor de [nombre del alumno] representa el nombre de un alumno.


Ejecutemos nuestro programa y veamos qué sucede:

 Se ha creado Lucy.txt para la boleta de calificaciones de Lucy. Se ha creado Peter.txt para la boleta de calificaciones de Peter. Se ha creado Chad.txt para la boleta de calificaciones de Chad. 

Nuestro código muestra tres mensajes que indican que se ha creado la boleta de calificaciones de cada estudiante.

Si miramos la carpeta / home / james / students / data /, puede ver tres archivos:

 Lucy.txt se ha creado para la boleta de calificaciones de Lucy. Peter Se ha creado .txt para la boleta de calificaciones de Peter. Chad.txt se ha creado para la boleta de calificaciones de Chad. 

Cada archivo contiene el texto de nuestra plantilla anterior.




Método Python shutil.copy2 ()

El < El método code> shutil.copy2 () copia un archivo de un lugar a otro en su sistema operativo. Este método, a diferencia de shutil.copy () , también copia los metadatos asociados con un archivo.  shutil.copy2 () usa la misma sintaxis que el método shutil.copy () .

Supongamos que queremos crear un certificado de progreso para alguien que juega un juego. Este certificado debe comenzar con el siguiente texto:

 RPG: Tarjeta de puntuación del usuario Producida por el RPG Python juego 

Este texto ya está en el archivo default_scorecard.txt. Podríamos copiar el archivo default_scorecard.txt usando el método copy2 () en la biblioteca shutil:

 import shutil shutil.copy (" / home / james / game / default_scorecard.txt "." /home/james/game/recent_scores.txt ") print (" Tu progreso se ha registrado en las puntuaciones_recientes .txt. ") 

Importamos la biblioteca shutil y luego usamos el método shutil.copy2 () para crear una copia del archivo default_scorecard.txt . Luego imprimimos un mensaje en la consola informándonos que el archivo original se ha copiado en el archivo Recent_scores.txt.




Otros métodos

También puede usar el copyfile ( ) y copyfileobj () métodos en la biblioteca shutil.

Ambos métodos usan la misma sintaxis que los dos métodos que discutimos anteriormente:

 shutil.copyfile (fuente, destino) shutil.copyfileobj (fuente, destino) 

El método copyfile () le permite copiar un archivo de una ubicación a otra. También puede indicarle a Python que cree un enlace simbólico entre el archivo nuevo y el antiguo. El método copyfileobj () le permite copiar un archivo y especificar cómo se leen los datos en fragmentos.


Puede obtener más información sobre estos métodos leyendo el Documentación de Python shutil .




Conclusión

Python shutil.copy () y shutil.copy2 () le permiten copiar un archivo a otra ubicación. Estos métodos copian los permisos adjuntos a un archivo existente. También puede usar los métodos copyfile () y copyfileobj () en la biblioteca shutil para copiar un archivo.

¿Desea obtener más información sobre la codificación en Python? Lea nuestro Cómo Guía de aprendizaje de Python . Esta guía incluye una serie de consejos que te ayudarán a aprender a programar en Python. También encontrarás recursos de aprendizaje para guiar tu aprendizaje.





archivo de copia de Python: StackOverflow Questions