English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Métodos para recorrer directorios y cambiar nombres de archivos y directorios en Python

Este ejemplo muestra cómo recorrer directorios en Python y cambiar nombres de archivos y directorios en lotes. Comparto con todos para que puedan referirse a ellos, como se muestra a continuación:

#encoding=utf-8
#author: walker
#date: 2014-03-07
#summary: Búsqueda en profundidad de directorios específicos y cambio de nombres de subdirectorios y archivos a minúsculas
#Atención, este programa solo es para Windows, en Windows los nombres de archivos (o carpetas) no distinguen entre mayúsculas y minúsculas
import os
import os.path
import shutil
#Leer el directorio especificado y convertirlo en una ruta absoluta
rootdir = raw_input('ruta del directorio:\n')
rootdir = os.path.abspath(rootdir)
print('ruta de acceso absoluta:\n*** ' + rootdir + ' ***)
#Primero cambie el nombre del archivo
for parent, dirnames, filenames in os.walk(rootdir):
  for filename in filenames:
    pathfile = os.path.join(parent, filename)
    pathfileLower = os.path.join(parent, filename.lower())
    if pathfile == pathfileLower:  # Si el nombre del archivo ya es en minúsculas
      continue
    print(pathfile + ' -->' + pathfileLower)
    os.rename(pathfile, pathfileLower)
#Después se cambia el nombre del directorio, aquí preste atención al parámetro topdown.
#topdown determina el orden de la recorrida, si topdown es True, se enumeran primero los directorios bajo top, luego los directorios dentro de los directorios, y así sucesivamente;
#Por el contrario, primero se enumeran recursivamente los subdirectorios más profundos, luego sus directorios hermanos y finalmente el directorio padre.
#Primero necesitamos modificar los subdirectorios más profundos
for parent, dirnames, filenames in os.walk(rootdir, topdown=False):
  for dirname in dirnames:
    pathdir = os.path.join(parent, dirname)
    pathdirLower = os.path.join(parent, dirname.lower())
    if pathdir == pathdirLower: # si el nombre del directorio ya es en minúsculas
      continue
    print(pathdir + ' -->' + pathdirLower)
    os.rename(pathdir, pathdirLower)

Los lectores interesados en más contenido relacionado con Python pueden consultar la sección especial de este sitio: "Resumen de técnicas de manejo de archivos y directorios de Python", "Resumen de técnicas de manejo de archivos de texto de Python", "Resumen de técnicas de recorridos comunes de Python", "Resumen de técnicas de manejo de imágenes de Python", "Tutorial de estructuras de datos y algoritmos de Python", "Resumen de técnicas de programación de Socket de Python", "Resumen de técnicas de uso de funciones de Python", "Resumen de técnicas de manejo de cadenas de Python" y "Tutorial clásica de introducción y avanzado de Python".

Espero que lo descrito en este artículo pueda ayudar a todos a diseñar programas de Python.

Declaración: El contenido de este artículo se ha obtenido de la red, es propiedad del autor original, el contenido ha sido contribuido y subido por los usuarios de Internet, este sitio web no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#w proporcionando evidencia relevante, una vez que se verifique, este sitio eliminará inmediatamente el contenido sospechoso de infracción.3Declaración: El contenido de este artículo se ha obtenido de la red, es propiedad del autor original, el contenido ha sido contribuido y subido por los usuarios de Internet, este sitio web no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#w proporcionando evidencia relevante, una vez que se verifique, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará