Python Cambie el nombre del archivo y el directorio usando os.rename()

โšก Resumen inteligente

Python Aquรญ aprenderรกs a renombrar archivos y directorios con os.rename(). Aprenderรกs a usar os.rename(), os.renames(), shutil.move() y pathlib Path.rename(), ademรกs de cรณmo renombrar un directorio y varios archivos a la vez con ejemplos claros.

  • โœ๏ธ os.rename(): os.rename(src, dst) cambia el nombre de un archivo o directorio; el origen debe existir.
  • ๐Ÿ—‚๏ธ os.rename(): os.renames() tambiรฉn crea automรกticamente las carpetas de destino que faltan.
  • ๐Ÿšš shutil.move(): shutil.move() renombra y puede mover archivos entre sistemas de archivos.
  • ๐Ÿ pathlib: Path.rename() renombra archivos de forma orientada a objetos (Python 3.4+).
  • ๐Ÿค– Ayuda de IA: Las herramientas de IA como Copilot generan cรณdigo para renombrar y renombrar por lotes al instante.

Python Cambiar nombre del archivo os.rename()

Python Cambiar nombre del archivo

Python cambiar nombre() archivo es un mรฉtodo utilizado para cambiar el nombre de un archivo o directorio en Python programaciรณn. El Python El mรฉtodo de archivo rename() se puede declarar pasando dos argumentos llamados src (Fuente) y dst (Destino).

Sintaxis

Esta es la sintaxis del mรฉtodo os.rename()

os.rename(src, dst)

Parรกmetros

src: Fuente es el nombre del archivo o directorio. Ya deberรญa existir.

horario de verano: Destino es el nuevo nombre del archivo o directorio que desea cambiar.

Ejemplo:

import os  
os.rename('guru99.txt','career.guru99.txt')

Veamos el ejemplo en detalle.

Puedes cambiar el nombre del archivo original, nosotros hemos cambiado el nombre del archivo de โ€œGuru99.txtโ€ a โ€œCareer.guru99.txtโ€.

Python Cambiar nombre del archivo

  • Para cambiar el nombre del archivo โ€œguru99.txtโ€, usaremos la โ€œfunciรณn de cambio de nombreโ€ en el mรณdulo del sistema operativo
  • Entonces, cuando se ejecuta el cรณdigo, puede observar que se crea un nuevo archivo โ€œcareer.guru99.txtโ€ en el lado derecho del panel, al que le cambiamos el nombre de nuestro archivo original.

Aquรญ estรก el cรณdigo completo

import os
import shutil
from os import path

def main():
	# make a duplicate of an existing file
    if path.exists("guru99.txt"):
	# get the path to the file in the current directory
        src = path.realpath("guru99.txt");
		
	# rename the original file
        os.rename('guru99.txt','career.guru99.txt') 
		
if __name__ == "__main__":
    main()

Cรณmo renombrar un directorio en Python

El mรฉtodo os.rename() tambiรฉn cambia el nombre de los directorios, no solo de los archivos. Se debe pasar el nombre de la carpeta actual como origen y el nuevo nombre como destino.

import os
os.rename("old_directory", "new_directory")

Si el directorio de origen no existe, Python Genera un error FileNotFoundError, por lo que es una buena prรกctica comprobar primero la ruta.

Cambiar el nombre de un archivo usando os.renames()

El mรฉtodo os.renames() renombra un archivo y crea automรกticamente los directorios intermedios que falten en la ruta de destino. Tambiรฉn elimina los directorios vacรญos que queden en la ruta de origen.

import os
os.renames("guru99.txt", "archive/2024/career.txt")

Aquรญ se crean automรกticamente las carpetas "archivo" y "2024" si no existen previamente.

Cambiar el nombre de un archivo usando shutil.move()

La funciรณn shutil.move() mueve un archivo a una nueva ubicaciรณn, lo que en la prรกctica lo renombra cuando el destino es el mismo directorio.

import shutil
shutil.move("guru99.txt", "career.guru99.txt")

A diferencia de os.rename(), shutil.move() tambiรฉn puede mover un archivo entre diferentes sistemas de archivos o unidades.

Cambiar el nombre de un archivo usando el mรณdulo pathlib

In Python A partir de la versiรณn 3.4, el mรณdulo pathlib ofrece un mรฉtodo Path.rename() orientado a objetos para renombrar archivos.

from pathlib import Path

file = Path("guru99.txt")
file.rename("career.guru99.txt")

El mรฉtodo rename() devuelve un nuevo objeto Path que apunta al archivo renombrado.

Cรณmo renombrar varios archivos en Python

Para renombrar varios archivos a la vez, recorra los archivos de un directorio con `os.listdir()` y llame a `os.rename()` para cada uno. El siguiente ejemplo aรฑade un prefijo numรฉrico a cada archivo.

import os

folder = "myfiles"
for count, filename in enumerate(os.listdir(folder)):
    new_name = f"file_{count}.txt"
    os.rename(os.path.join(folder, filename), os.path.join(folder, new_name))

El uso de os.path.join() garantiza que el cรณdigo funcione correctamente en cualquier sistema operativo.

Preguntas Frecuentes

Importa os y llama a os.rename(src, dst), pasando el nombre del archivo actual y el nuevo nombre. El archivo fuente ya debe existir, o Python genera FileNotFoundError.

os.rename() cambia el nombre de un รบnico archivo o directorio, mientras que os.renames() tambiรฉn crea los directorios intermedios que falten y elimina las carpetas de origen vacรญas despuรฉs del cambio.

Sรญ. shutil.move(src, dst) cambia el nombre de un archivo cuando el destino es la misma carpeta, y tambiรฉn puede mover archivos entre diferentes sistemas de archivos, a diferencia de os.rename().

Utilice os.rename('old_dir', 'new_dir'). La misma funciรณn os.rename() funciona tanto para archivos como para directorios, siempre que exista el directorio de origen.

Recorre os.listdir(folder) y llama a os.rename() para cada archivo. Usa os.path.join() para construir rutas completas, de modo que el cรณdigo funcione en cualquier sistema operativo.

Los asistentes de IA como GitHub Copilot autocompletan las llamadas a os.rename() y pathlib, y generan bucles de cambio de nombre por lotes a partir de un comentario que describe el patrรณn de nomenclatura que se desea.

Sรญ. Las herramientas con inteligencia artificial pueden automatizar la escritura de scripts para renombrar archivos por lotes, aplicar patrones como prefijos de numeraciรณn o fechas y agregar manejo de errores para nombres faltantes o duplicados.

On Windowsos.rename() genera un error FileExistsError si el archivo de destino ya existe. En Unix, sobrescribe el archivo silenciosamente. Para evitar la pรฉrdida de datos, compruebe primero con os.path.exists().

Resumir este post con: