Python: ¿Cómo cambiar el nombre de archivos y directorios usando os.rename()?

Actualidad y novedades sobre el lenguaje de programación Python
Novedades sobre el lenguaje de programación Python

Si quieres cambiar el nombre de un archivo en Python, puede “usar la función os.rename()”.

El método os.rename() se utiliza para cambiar el nombre de un archivo/directorio de origen a un archivo/directorio de destino específico y nos permite cambiar el nombre de un archivo o directorio directamente desde el símbolo del sistema o IDE.

Sintaxis

os.rename(src, dst)

Parámetros

  1. El parámetro src es la dirección de origen del archivo cuyo nombre se va a cambiar.
  2. El dst es el destino con el nuevo nombre.

Cómo cambiar el nombre de un archivo en Python

Dentro de la carpeta de secuencias, hay tres archivos.

  1. amazon.py
  2. aliexpress.py
  3. zalando.py

Cambiaremos el nombre del archivo llamado app.py a server.py paso a paso.

Paso 1: busca la ruta del archivo o carpeta cuyo nombre deseas cambiar

Ve a la terminal y al archivo cuyo nombre desea cambiar y luego, para encontrar la ruta completa, escriba el siguiente comando en la terminal.

/Users/krunal/Desktop/code/pyt/prueba

Bien, entonces el nombre de mi carpeta es prueba, estando dentro de la carpeta de prueba y con la ruta es /Users/krunal/Desktop/Code/pyt/prueba.

Paso 2: cambiar el nombre de un archivo usando la función os.rename()

Crea un nuevo archivo llamado index.py en la misma carpeta que app.py y escribes el código de cambio de nombre dentro de ese archivo.

Necesitamos importar el paquete del sistema operativo para cambiar el nombre del archivo usando Python. Luego puedes utilizar la siguiente plantilla para cambiar el nombre de tu archivo.

import os

os.rename('/Users/krunal/Desktop/code/pyt/prueba/app.py',
          '/Users/krunal/Desktop/code/pyt/prueba/server.py')

print('The filename from app.py to server.py changed successfully')

Producción

The filename from app.py to server.py changed successfully 

Si vuelves a ejecutar el comando python3 index.py, obtendrá el error porque el archivo app.py no está allí. Después de todo, hemos cambiado su nombre de app.py a server.py.

FileNotFoundError: [Errno 2] No such file or directory: 
       '/Users/krunal/Desktop/code/pyt/prueba/app.py' -> 
       '/Users/krunal/Desktop/code/pyt/prueba/server.py'

Obtendrás FileNotFoundError .

Cambia el nombre de varios archivos usando el método rename()

El método rename() se puede utilizar fácilmente para cambiar el nombre de varios archivos:

import os

# define the directory
directory = '/path/to/your/directory'

# iterate over all the files in directory
for filename in os.listdir(directory):
  # check if the file is a .txt file
  if filename.endswith('.txt'):
    # form the new filename
    new_filename = filename[:-4] + '.bak'
    # form the absolute paths for source and destination
    src = os.path.join(directory, filename)
    dst = os.path.join(directory, new_filename)
    # rename the file
    os.rename(src, dst)

Reemplaza ‘/path/to/your/directory’ con la ruta real del directorio.

Recuerda, este código cambiará el nombre de todos los archivos .txt en el directorio. ¡Asegúrate de que eso es lo que quieres hacer antes de ejecutarlo!

¿Cómo cambiar el nombre de una carpeta en Python?

Para cambiar el nombre de una carpeta en Python, puede utilizar el método ” os.rename()”. La excepción OSError se genera cuando una función del sistema específica del sistema operativo devuelve un error relacionado con el sistema, incluidas fallas de E/S como “archivo no encontrado” o “disco lleno”.

Escriba el siguiente código dentro del archivo index.py.

import os

os.rename('/Users/krunal/Desktop/code/pyt/prueba/stream',
         '/Users/krunal/Desktop/code/pyt/prueba/platforma')

print('The folder name from stream to platform changed successfully')

Producción

The folder name from stream to platform changed successfully 

En este ejemplo, proporcionamos la carpeta src, cuyo nombre debe cambiarse y la ruta de la carpeta de destino, que es el nuevo nombre de la carpeta.


Recuerda seguirme y estar atento a las nuevas publicaciones de Python.

Relacionado

Vulture: Encuentra el código muerto en Python

Vulture encuentra código no utilizado dentro de código creado con Python. Esto es útil para limpiar y encontrar errores en bases de código grandes. Debido a la naturaleza dinámica de Python, es probable que los analizadores de código estático como Vulture no detecten algún código muerto. ¡SEGUIR LEYENDO!

Vidgear: Librería de Python para el procesamiento de vídeo

VidGear es una poderosa biblioteca de procesamiento de video en Python construida con Gears de subprocesos múltiples, cada uno con un conjunto único de características innovadoras. Estas API proporcionan un contenedor fácil de usar, altamente extensible y multihilo alrededor de muchas bibliotecas subyacentes de última generación ¡SEGUIR LEYENDO!

Si los Lenguajes de Programación fueran Superhéroes de Marvel serían..

Existen más de 750 lenguajes de programación en el universo de la programación y cada lenguaje de programación tiene un tono y un conjunto de características únicos. https://ciberninjas.com/mejores-lenguajes-programacion-2023/ No debería sorprender que este conjunto específico de características atraiga a los excéntricos, quienes ocasionalmente se reúnen para ¡SEGUIR LEYENDO!

RustPython: Un intérprete de Python escrito en Rust

RustPython es un intérprete de Python escrito en Rust. RustPython se puede incrustar en los programas de Rust para usar Python como lenguaje de programación para su aplicación o se puede compilar en WebAssembly para ejecutar Python en el navegador. RustPython es gratuito y de código ¡SEGUIR LEYENDO!

Razones por las que Python nunca podrá superar a Java

Aunque Python es utilizado por la mayoría de los desarrolladores y según los expertos de la industria, bastante aplicado por la mayoría de las grandes industrias. https://ciberninjas.com/java-vs-python-diferencias/ Sin embargo, Python aún no es capaz de superar a Java, porque seguramente necesite más recursos para ser capaz ¡SEGUIR LEYENDO!