Copiar un fichero en Python con shutil

logo python

Veamos hoy como copiar un fichero en Python con shutil, que es un modulo que Python ofrece para este tipo de acciones

Tenemos varias opciones, a continuación, te las muestro:

copy

Este es un modulo de Python, que pertenece a shutil().

copy() copia el contenido del fichero y sus permisos, pero sin embargo, no copia los metadatos del fichero.

copy() acepta como parámetros, los siguientes:

  • src: Ruta completa del fichero origen, en formato cadenav(string), o un objeto(PathLike)
  • dst: Ruta del fichero  de destino. En este caso  hay que considerar que si la ruta es un directorio, se copiará el fichero origen en el directorio y tomará como nombre el del fichero original.
  • follow_symlinks (default =True): Cuando follow_symlinks es falso y src es un enlace simbólico, dst se creará como un enlace simbólico. Si follow_symlinks es verdadero y src es un enlace simbólico, dst será una copia del archivo al que se refiere src.
import shutil
shutil.copy('origen.txt', 'destino.txt')
shutil.copy('/ruta/origen.txt', '/ruta/destino/copia.txt')
shutil.copy('/ruta/origen.txt', '/ruta/destino')

Otros artículos sobre Python

copy2

La función copy2(), permite copiar los metadatos del archivo y funciona exactamente igual que copy().

import shutil
shutil.copy2('origen.txt', 'destino.txt')
shutil.copy2('/ruta/origen.txt', '/ruta/destino/copia.txt')
shutil.copy2('/ruta/origen.txt', '/ruta/destino')

Copyfile

copyfile() permite  copiar  solo el contenido de un fichero.

Su sintaxis es:

copyfile(src, dst, follow_symlinks=True). 

Esta función hace una copia del fichero original src() en el fichero destino dst(). Tanto src(), como dst(), son cadenas de texto que ofrecen rutas.

Considera, que si el fichero destino ya existe, este será reemplazado.

La función lanzara un OSError, si no se puede  escribir en el destino.

import shutil
shutil.copyfile('origen.txt', 'destino.txt')
shutil.copyfile('/ruta/origen.txt', '/ruta/destino/copia.txt')

Copyfileobj

Esta función funciona como  copyfile(), con la diferencia  de que src() y dst() deben ser objetos de tipo fichero (no  un string con las rutas).

import shutil
file_src = 'source.txt' 
f_src = open(file_src, 'rb')
file_dest = 'destination.txt' 
f_dest = open(file_dest, 'wb')
shutil.copyfileobj(f_src, f_dest)

Y hasta aquí, esto es todo.

Espero que sirva de ayuda a alguien

Para ser parte del 1%, hay que hacer lo que el 99% no hace.

D.

Entendiendo Vue (ficheros)

Vue es un framework para crear código javascript, y está basado en el uso de componentes.

Podríamos decir para que se entienda mejor,  que los componentes son pequeños trozos de código javascript con funcionalidades  y estilos propios,  que insertamos dentro de la pagina html de nuestra aplicación, pudiendo ser reusables y facilmente manejables..

Dentro de nuestra app veremos que existen diferentes archivos. De ellos los que más nos interesan, para comenzar a programar nuestra app en Vue, son :

Public:

Dentro de esta carpeta se guarda nuestra pagina html(index) y el favicon de la aplicación.

Vue crea una SPA, o sea una single page application, una sola pagina sobre la cual se inserta todo el código que vamos a mostrar en nuestra web.

Si nos fijamos dentro del index  encontraremos un div con el id app, es ahí donde Vue, cargará todo nuestro código.

Tambien en index configuraremos las etiquetas meta, favicon, el titulo, mensajes si js no esta activado y  en definitiva, todo lo referente a la base html.

src:

En esta carpeta se concentra la mayor parte de nuestro desarrollo, aquí es donde crearemos la magia.

Dentro de src existen dos carpetas y dos archivos:

assets: es donde se guardan útiles necesarios, el css, las imágenes, etc

components: es donde guardaremos los componentes que creemos

El archivo App.vue:

Es el componente principal, sobre el que se cargaran el resto de los componentes. Los archivos vue, deben terminar siempre con la extensión vue.

Dentro de él, se importaran el resto de los componentes en import … from…. y se cargarán luego dentro de components{}.

El archivo main.js:

Es un documento de configuración, principalmente dentro de el se importa Vue, se determina en que estado esta la app, ya sea produccion y desarrollo y se  crea un nuevo objeto, además se determina la etiqueta donde ese nuevo objeto se cargará que por defecto tiene el id App, y que ya mencione cuando vimos el archivo index.html-

package.json:

Este archivo contiene un array de arrays, con la configuración inicial de la app, es el lugar para ajustar el nombre de la app, algunos script, comandos, configurar las diferentes dependencias con que trabajará  durante toda su vida el proyecto, y las devDependencies que son aquellas dependencias que solo estarán disponibles para trabajar  en local.

node_modules:

como su nombre lo indica contiene todos los módulos de nodejs, instalados en la app.

Y estos son los más importantes y que debemos conocer para comenzar a desarrollar en Vue.

Y listo, esto es todo.

Espero modestamente que este artículo, sirva de ayuda a alguien.

Gracias.

Subir montañas hermana hombres……