Python Shutil Move

Python Shutil Move

El lenguaje de programación llamado Python es muy fácil de usar y fácil de comprender. Python admite muchos paquetes que involucran funciones incorporadas que facilitan la codificación, la transferencia de archivos y la computación en general. Uno de esos paquetes se llama shutil. Shutil es un módulo en la biblioteca estándar de Python que pertenece a la categoría de acceso de archivo y directorio a partir de Python 3.10. Este paquete de Python, a menudo conocido como Shell Utilities, permite a los usuarios llevar a cabo operaciones complejas tanto en archivos individuales como en archivos del sistema. Es una herramienta que admite procesos que involucran la eliminación o copia de archivos que se pueden automatizar con la ayuda de este módulo.

Sintaxis:

El cierre.La función Move () toma dos parámetros, a saber, la fuente que acepta un tipo de cadena que representa la ruta del archivo de origen y el destino que acepta un argumento de tipo de cadena que representa la ruta del directorio de destino. La función también toma un tercer parámetro opcional llamado función de copia. El módulo establece el Copy2 como la función de copia predeterminada. Se puede alterar a una función de copia diferente si esa mejor coincide con sus necesidades. Si este tercer parámetro se mantiene como su valor predeterminado de Copy2, entonces Copy2 es el valor predeterminado para este argumento. Para este argumento, también podemos usar las funciones de copia alternativa.
La función copia recursivamente un archivo o directorio desde una ubicación (la fuente) a otra ubicación especificada (el destino). Luego, copia el destino de nuevo. La fuente se reubica en el directorio de destino si ya existe allí.

Ejemplo 1:

El ejemplo 1 muestra el uso más básico de esta función. Después de importar el módulo de cierre, la variable "x" se establece en la ubicación del archivo de origen actual. Mientras que la variable "y" se establece en la ubicación deseada donde se crea el nuevo archivo de destino. El cierre.La función Move () se llama con los parámetros de origen y destino dados a través de las variables "X" y "Y". La variable "Z" contiene la cadena devuelta que tiene el destino del contenido de origen reubicado.

Una vez que se ejecutan las líneas de código anteriores, el terminal muestra el siguiente resultado como se muestra en la imagen anterior. Como se esperaba, el archivo que se guardó en el C: \ Users \ Aqsa \ Desktop \ Random.La ubicación del texto ahora se mueve al disco E.

Como resultado, la figura anterior muestra que a medida que se abre el disco E, el archivo que estaba en la ubicación anterior ahora se ve como se desea.

Ejemplo 2:

En este ejemplo, la función de copia que es copy2 de forma predeterminada se cambia para callar.árbol de copia.

La funcionalidad básica del cierre.Copiar Tree () técnica y el cierre.El método Move () es mover un archivo si el directorio de destino ya existe.

Anteriormente, importamos el módulo de cierre antes de utilizar cualquiera de sus funciones. El código anterior copia el contenido del archivo en la ubicación de la fuente a una ubicación de archivo ya existente. Usamos el método Copy Tree () porque el destino ya está presente. Similar al Ejemplo 1, las variables "X" e "Y" contienen las ubicaciones de origen y destino del archivo en cuestión, respectivamente, en formato de cadena. El cierre.La función Move () se llama con la función de copia establecida en staril.árbol de copia. La variable "Z" contiene la salida de la función, que es la nueva ubicación del archivo que anteriormente se encuentra en "x" en el formato de cadena.

La figura anterior muestra la salida en el terminal, que es la nueva ubicación del archivo que se mueve. Más importante aún, el archivo en la ubicación de la fuente no se borra durante la reubicación, a diferencia de Copy2.

Ejemplo 3:

En el ejemplo 3, vemos el cambio de múltiples carpetas de una ubicación a otra usando callar.mover(). El siguiente fragmento muestra la existencia de dos archivos llamados "Newfile.txt "y" aleatorio.TXT". Estos dos archivos se encuentran actualmente en C: \ Users \ AQSA \ Desktop \ 123.

En el código anterior, utilizamos otro módulo llamado OS. Este módulo, al igual que el paquete de cierre, contiene funciones para la creación y eliminación de un directorio (de carpeta), recuperar su contenido, modificar e identificar el directorio actual, etc. Primero, hay dos rutas guardadas en las variables "Path1" y "Path2", respectivamente. Luego, se ejecuta un bucle de tal manera que todos los archivos en "Path1" se desplazan a "Path2". El movimiento de los archivos se realiza con callar.mover().

Como se puede ver en la imagen anterior, los archivos se mueven correctamente a la ubicación del destino mientras se mantiene el pedido.

Ejemplo 4:

Para este ejemplo, considere el archivo llamado "Random.txt "que se guarda en el disco la ubicación de la carpeta E: \. Usando el código en el siguiente fragmento, creamos un nuevo archivo en una nueva ubicación con su contenido que está en "Random.TXT".

Una vez que las ubicaciones de origen y destino se guardan en variables, a saber, "x" y "y", guardamos nuestro nombre de archivo en el archivo variable en forma de una cadena. Una vez hecho esto, utilizando el módulo OS, utilizamos una función llamada OS.camino.splitext () donde el nombre de ruta de "archivo" se divide en dos partes: raíz y extensión. En este caso, la raíz es todo excepto el componente de extensión de la ruta suministrada. Mientras que, ext significa extensión y contiene esa pieza. Ahora, guardamos las dos partes en variables separadas donde la primera parte de la división a [0], que es la ruta del archivo se guarda en "nombre". Mientras que, la segunda parte A [1] se guarda en "formato" que contiene la extensión que, en este caso, es ".TXT". Ahora, la nueva variable "B" se une a las cadenas del "nombre" y "formato" con la adición de la cadena "2.0 "en el medio. Las rutas en "Y" y "B" se unen utilizando la función OS llamada OS.camino.unir () y guardado en "C". Una vez hecho esto, hacemos uso del cierre.MOVO () Función para mover el archivo en la ubicación de origen del "archivo x +" a la ubicación de destino de "c".

El fragmento anterior muestra que el nuevo archivo que se llama "Random2.0.txt ”en el código anterior ahora se guarda en la ubicación de destino.

Ejemplo 5:

En este quinto ejemplo, los mismos archivos en el Ejemplo 4 se utilizan donde están en su nueva ubicación establecida en el Ejemplo 4. En este ejemplo, mostraremos cómo transferir los archivos desde una lista que se encuentra actualmente en una carpeta a otra.

El código anterior muestra las ubicaciones de origen y destino guardadas en variables "x1" y "y1". La lista "files_to_move" contiene los elementos que son los nombres de los archivos. Usando el bucle, podemos atravesar la lista "files_to_move" y mover los archivos usando el cierre.Función Move () a la fuente de destino que se almacena en "Y1".

Como se puede ver en la imagen anterior, los archivos se transfieren correctamente a su nueva ubicación.

Ejemplo 6:

En nuestro último ejemplo, emplearemos los mismos archivos utilizados en el Ejemplo 5 para mover un archivo si el nombre del archivo contiene una cadena específica.

En este código, nos aseguramos de un módulo adicional llamado "Glob". Como de costumbre, se guardan las ubicaciones de origen y destino. También tenemos una variable de cadena llamada "formato" que es útil para determinar los archivos que tienen el ".extensión de txt ". The Glob devuelve una lista de archivos que coinciden con la extensión suministrada en el argumento de formato.Función Glob (). Luego, el siguiente paso mueve cada archivo usando el cierre.comando mude () usando el bucle.

Todos los archivos se transfieren con éxito como se ve en el fragmento anterior.

Conclusión

Shutil es una herramienta útil que es útil y le brinda más control, especialmente al manipular las ubicaciones de los archivos, todo mientras preserva el contenido del archivo. El módulo de cierre tiene muchas funciones y una de las cuales es la función llamada shalil.mover(). Usando este módulo, se puede emplear una variedad de operaciones de alto nivel en archivos y colecciones de archivos mientras discutimos los múltiples ejemplos con respecto a este concepto en el artículo.