Dominando Operaciones de Directorios y Archivos en Python
Gestión de Directorios y Archivos en Python
Descubre cómo crear, navegar, listar, renombrar y eliminar directorios y archivos en Python de forma eficiente con ejemplos prácticos.
Video: Módulo os de Python
Directorio en Python
Cuando tu proyecto crece, organizar código en carpetas bien estructuradas se vuelve esencial. Un directorio —o carpeta— es un contenedor para archivos y subdirectorios, y el módulo os de Python proporciona herramientas robustas para gestionarlos.
Obtener Directorio Actual
Usa os.getcwd() para recuperar el directorio de trabajo actual como cadena. Si necesitas representación en bytes, os.getcwdb() lo hace.
import os
os.getcwd() # 'C:\\Program Files\\PyScripter'
os.getcwdb() # b'C:\\Program Files\\PyScripter'
La doble barra invertida indica una secuencia de escape. Usar print() renderiza la ruta correctamente:
print(os.getcwd()) # C:\Program Files\PyScripter
Cambiar Directorio
Cambia el directorio de trabajo actual con os.chdir(ruta). El argumento ruta puede usar barras normales o invertidas; recuerda escapar las invertidas o usar raw strings.
os.chdir('C:\\Python33')
print(os.getcwd()) # C:\Python33
Listar Directorios y Archivos
Recupera todos los archivos y subdirectorios en una carpeta objetivo con os.listdir(ruta). Si se omite ruta, la función opera sobre el directorio de trabajo actual.
print(os.getcwd()) # C:\Python33
os.listdir() # ['DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'NEWS.txt', 'python.exe', 'pythonw.exe', 'README.txt', 'Scripts', 'tcl', 'Tools']
os.listdir('G:\\') # ['$RECYCLE.BIN', 'Movies', 'Music', 'Photos', 'Series', 'System Volume Information']
Crear un Nuevo Directorio
Crea una carpeta con os.mkdir(ruta). Si la ruta es relativa, el nuevo directorio aparece en el directorio de trabajo actual.
os.mkdir('test')
print(os.listdir()) # ['test']
Renombrar un Directorio o Archivo
La misma función os.rename(origen, destino) maneja tanto archivos como carpetas. Proporciona el nombre antiguo como origen y el nuevo nombre deseado como destino:
os.listdir() # ['test']
os.rename('test', 'nuevo_uno')
print(os.listdir()) # ['nuevo_uno']
Eliminar Directorio o Archivo
Elimina un archivo con os.remove(ruta). Para eliminar una carpeta vacía, usa os.rmdir(ruta):
os.listdir() # ['nuevo_uno', 'viejo.txt']
os.remove('viejo.txt')
print(os.listdir()) # ['nuevo_uno']
os.rmdir('nuevo_uno')
print(os.listdir()) # []
Nota: os.rmdir() solo funciona en directorios vacíos.
Si necesitas eliminar una carpeta que contiene archivos o subcarpetas, la función shutil.rmtree() del módulo shutil es la solución:
os.listdir() # ['test']
os.rmdir('test') # Traceback... OSError: [WinError 145] The directory is not empty: 'test'
import shutil
shutil.rmtree('test')
print(os.listdir()) # []
python
- Construya un sensor de temperatura remoto con Raspberry Pi y Python – Guía paso a paso
- Dominando la gestión de memoria en C++: uso experto de new y delete
- Palabras clave e identificadores en Python: Dominando palabras reservadas y convenciones de nomenclatura
- Sentencias, indentación y comentarios en Python: Guía clara
- Variables, constantes y literales en Python – Guía completa
- Dominando conversión y casting de tipos en Python: Guía completa
- Dominando E/S e importación de módulos en Python: Guía práctica
- Entendiendo variables globales, locales y nonlocal en Python
- Dominando Números, Conversión de Tipos y Matemáticas en Python
- Dominando Errores y Excepciones Integradas en Python
- Obtener la Fecha y Hora Actual en Python: Guía Práctica