Python renombrar el archivo

Python renombrar el archivo
“Python es una gran herramienta para la automatización y la creación de herramientas simples que le permiten simplificar su vida. Le proporciona herramientas que le permiten interactuar con los recursos de su sistema de bajo nivel, como disco, kernel del sistema operativo, memoria, redes, etc.

Uno de los escenarios que a menudo encontrará como desarrollador de Python es la gestión de archivos. Por lo tanto, es tener algunas habilidades que pertenecen a la administración de archivos en su haber.

Para este tutorial, te daremos una de esas habilidades. Aprenderá a cambiar el nombre de los archivos simples o múltiples usando Python."

Con eso fuera del camino, comencemos.

Python renombrar archivo - módulo OS

Uno de los módulos más útiles en el ecosistema de Python es el módulo OS. Le proporciona muchas herramientas y funcionalidad para interactuar con el sistema operativo.

El módulo del sistema operativo es muy extenso y, por lo tanto, no podemos explorarlo de principio a fin. Sin embargo, centrémonos en la única función que nos permite cambiar el nombre de los archivos en el sistema.

La función Rename () en el módulo OS de Python le permite cambiar el nombre de un archivo existente en su sistema.

La sintaxis es como se muestra a continuación:

sistema operativo.renombrar (archivo, destino)

Toma la ruta del archivo de destino y la ruta para el nuevo nombre de archivo como parámetros. Dado que está cambiando el nombre de un archivo, debe asegurarse de que tanto los parámetros de archivo como de destino tengan diferentes valores.

Nota: Aunque el módulo del sistema operativo es parte de la biblioteca estándar de Python, deberá importarlo antes de usarlo.

Siga junto con los ejemplos proporcionados a continuación para descubrir cómo podemos cambiar el nombre de un archivo utilizando la función rename ().

Ejemplo 1: cambiar el nombre de un archivo

Suponga que tenemos un archivo llamado "copia de seguridad.alquitrán ", y queremos cambiarnos el nombre de" Backup_raw.alquitrán."Para simplificar, supongamos que el archivo que deseamos cambiar el nombre se encuentra en el mismo directorio que nuestro script de Python.

Usando un código simple de Python (fuente a continuación), podemos cambiar el nombre del archivo. La captura de pantalla a continuación muestra el directorio actual antes de cambiar el nombre del archivo.

Luego podemos ejecutar el código que se muestra a continuación:

Desde OS Import Cambiar nombre
src = "./respaldo.cremallera"
Dest = "./backup_raw.cremallera"
Cambiar el nombre (SRC, Dest)

Desglosemos el código.

Comenzamos importando la función de cambio de nombre desde el módulo OS. No es necesario importar todo el código del módulo del sistema operativo cuando no lo necesitamos.

Luego creamos dos variables. Uno que mantiene la ruta al archivo que deseamos cambiar el nombre. El otro tiene el camino del nuevo nombre de archivo.

Finalmente, llamamos a la función rename () y pasamos los parámetros de origen y destino. Ejecución del código debe cambiar el nombre del archivo de destino, como se muestra en la captura de pantalla resultante.

Y allí lo tenemos, hemos cambiado con éxito el archivo desde la copia de seguridad.Zip a Backup_Raw.cremallera.

Ejemplo 2 - rutas de archivo de Windows

Tomemos otro ejemplo en el que el archivo de destino se encuentra en un directorio diferente. Tenga en cuenta que la estructura de la ruta cambiará según su sistema operativo objetivo.

Por ejemplo, supongamos que deseamos cambiar el nombre del archivo llamado "copias de seguridad.ZIP "que se encuentra en el directorio" copias de seguridad "del usuario" UNIX "a" Backups_raw.cremallera."

En los sistemas UNIX, podemos usar el código a continuación para cambiar el nombre del archivo como:

Desde OS Import Cambiar nombre
src = "/home/unix/backups/backups.cremallera"
dest = "/home/unix/backups/backups_raw.cremallera"
Cambiar el nombre (SRC, Dest)

En este caso, proporcionamos la ruta absoluta al archivo antiguo y renombrado.

Para Windows, sistema, podemos cambiar la ruta para parecerse al código a continuación:

Desde OS Import Cambiar nombre
src = "c: \\ users \\ unix \\ copias de seguridad \\ copias de seguridad.cremallera"
Dest = "C: \\ Users \\ unix \\ Backups \\ Backups_raw.cremallera"
Cambiar el nombre (SRC, Dest)

En el ejemplo anterior, estamos utilizando un carácter de doble barra de inactividad para escapar del carácter de barra de barra de barra de retroceso único que se usa en las rutas de archivo de Windows.

Tenga en cuenta que a Python no le gusta mucho este camino. Echa un vistazo a la función de Python Join () del módulo del sistema operativo para aprender cómo puedes superar esto.

Ejemplo 3 - Manejo de errores

Aunque la función rename () le permite cambiar el nombre de cualquier archivo desde cualquier ubicación en su sistema de archivos, puede dar como resultado errores si, por ejemplo:

  1. El archivo de destino no existe.
  2. Un archivo con un nombre similar al destino ya existe.
  3. Permiso insuficiente en el archivo de destino y el directorio.

Es, por lo tanto, una buena práctica implementar un mecanismo de manejo de errores. Para simplificar, intentaremos seguir con el try/excepto el bloque.

Considere el código de ejemplo que se muestra a continuación:

Desde OS Import Cambiar nombre
src = "./Old_File.TXT"
Dest = "./archivo nuevo.TXT"
intentar:
Cambiar el nombre (SRC, Dest)
Excepto FileNotfoundError como E:
Imprimir (E)

En el código anterior, usamos un bloque try/excepto para manejar el error filenotfound.

Otro ejemplo es si el archivo de destino ya existe. Un código de ejemplo es como se muestra:

Desde OS Import Cambiar nombre
src = "./Old_File.TXT"
Dest = "./archivo nuevo.TXT"
intentar:
Cambiar el nombre (SRC, Dest)
Excepto FileExistSror como E:
Imprimir (E)

¿Qué pasa si no tenemos permiso para modificar el archivo?? Por eso, podemos agradecer a los permisoserRor. Verifique el código simple que se muestra a continuación:

Desde OS Import Cambiar nombre
src = "./Old_File.TXT"
Dest = "./archivo nuevo.TXT"
intentar:
Cambiar el nombre (SRC, Dest)
Excepto el permiso, Sorror como E:
Imprimir (E)

Ejemplo 4: cambie el nombre de múltiples archivos

En algunos casos, podemos tener un directorio con una lista de archivos que deseamos cambiar el nombre de otra cosa.

¿Cómo lo haríamos??

El primer paso sería obtener la lista de todos los archivos en el directorio de destino y almacenarlos en un iterable.

Afortunadamente, la función ListDir del módulo OS nos permite hacer exactamente eso.

Entonces podemos iterar sobre cada elemento en el objeto Iterable usando un bucle for y asignarle un nuevo nombre.

Del mismo modo, intentaremos seguir un ejemplo simple.

En nuestro ejemplo, tenemos una carpeta llamada apache_velocity que contiene, lo adivinó, plantillas de velocidad de apache.

La estructura del directorio es como se muestra:

ls -la apache_velocity
Total 24
DRWXR-XR-X@ 5 Salem Staff 160 5 Jun 01:37 .
DRWX ------+ 9 SALEM SAPTO 288 5 JUN 01:41.
-RW-R-R-- 1 Salem Staff 81 5 Jun 01:39 Maestro.VM
-RW-R-R-- 1 Salem Staff 81 5 Jun 01:39 Root.VM
-RW-R-R-- 1 Salem Staff 81 5 Jun 01:39 Slave.VM
Veamos cómo podemos cambiar el nombre de estos archivos a otra cosa.
Desde OS Import Rename, ListDir
Desde OS.Path Import Join
# Establecer Dir Target
target_dir = "/users/username/escritorio/apache_velocity"
#Iterate los archivos
Para el archivo en ListDir (Target_Dir):
src = unión (target_dir, archivo)
renombrar (src, f "src.bak ")
Imprimir ("Cambiar el nombre recursivo exitoso")
print (listDir (Target_dir))

El código anterior es relativamente simple y se puede mejorar enormemente. Pero para evitar las malcomplicaciones, mantengámonos con eso.

Comenzamos importando la función que requerimos.

  1. rename (), que nos permite cambiar el nombre de los archivos
  2. listDir (), que nos permite enumerar los archivos dentro de un directorio determinado.

También importamos la función Join () desde el sistema operativo.módulo de ruta. Esta función nos permite construir rutas de archivo compatibles completas y multiplataforma.

A continuación, creamos una variable que mantiene la ruta al directorio de destino. i.mi., el directorio cuyos archivos deseamos cambiar el nombre.

A continuación, creamos un bucle que itera cada archivo en el directorio de destino utilizando ListDir. Dentro del bucle, obtenemos la ruta fuente utilizando la función de unión.

Y finalmente, cambiamos el nombre de los archivos agregando un .Extensión BAK a cada archivo.

Si ejecutamos el código anterior, deberíamos ver una salida como se muestra

Podemos ver que los archivos han sido renombrados a Old_FileName.bak.

Conclusión

En este tutorial, exploramos cómo podemos cambiar el nombre de los archivos usando Python. Entendimos cómo trabajar con la función de cambio de nombre que nos permite cambiar el nombre de un solo o múltiples archivos.

Gracias por leer y feliz codificación!!