OS
El módulo os
en Python proporciona funciones para interactuar con el sistema operativo subyacente. Con él, puedes realizar tareas relacionadas con el sistema de archivos, la administración de directorios, la manipulación de rutas y más. Aquí te muestro algunas de las principales funciones y clases del módulo os
junto con ejemplos:
1. os.getcwd()
: Devuelve el directorio de trabajo actual como una cadena de caracteres.
import os
directorio_actual = os.getcwd()
print(directorio_actual)
2. os.listdir()
: Lista los archivos y directorios en un directorio dado.
import os
archivos_en_directorio = os.listdir('/ruta/a/tu/directorio')
print(archivos_en_directorio)
3. os.path.join()
: Combina una serie de partes de ruta en una sola ruta.
import os
ruta = os.path.join('/ruta', 'a', 'tu', 'directorio', 'archivo.txt')
print(ruta)
4. os.path.exists()
: Verifica si una ruta o archivo existe.
import os
if os.path.exists('/ruta/a/tu/archivo.txt'):
print('El archivo existe.')
else:
print('El archivo no existe.')
5. os.mkdir()
y os.makedirs()
: Crea un nuevo directorio. mkdir()
crea un directorio único, mientras que makedirs()
crea directorios anidados si no existen.
import os
os.mkdir('/ruta/a/tu/nuevo_directorio')
os.makedirs('/ruta/a/tu/nuevo/directorio/anidado')
6. os.remove()
: Elimina un archivo.
import os
os.remove('/ruta/a/tu/archivo.txt')
7. os.rmdir()
y os.removedirs()
: Elimina un directorio. rmdir()
elimina un directorio vacío, mientras que removedirs()
elimina directorios anidados si están vacíos.
import os
os.rmdir('/ruta/a/tu/directorio/vacio')
os.removedirs('/ruta/a/tu/directorios/vacios/anidados')
8. os.rename()
: Cambia el nombre de un archivo o directorio.
import os
os.rename('/ruta/a/tu/antiguo_nombre.txt', '/ruta/a/tu/nuevo_nombre.txt')
9. os.path.isfile()
, os.path.isdir()
, os.path.islink()
: Verifican si una ruta es un archivo, un directorio o un enlace simbólico.
import os
if os.path.isfile('/ruta/a/tu/archivo.txt'):
print('Es un archivo.')
elif os.path.isdir('/ruta/a/tu/directorio'):
print('Es un directorio.')
elif os.path.islink('/ruta/a/tu/enlace'):
print('Es un enlace simbólico.')
10. os.path.abspath()
: Devuelve la ruta absoluta de una ruta relativa.
import os
ruta_absoluta = os.path.abspath('archivo.txt')
print(ruta_absoluta)
Estas son algunas de las funciones más utilizadas en el módulo os
. Te permiten interactuar con el sistema de archivos y realizar operaciones comunes en el sistema operativo. Ten en cuenta que algunas de estas operaciones pueden variar según el sistema operativo en el que estés trabajando.
import os def buscar_archivo(ruta, nombre_archivo): """ Busca un archivo con un nombre específico en una carpeta y sus subcarpetas. :param ruta: La ruta de la carpeta en la que iniciar la búsqueda. :param nombre_archivo: El nombre del archivo a buscar. :return: La ruta completa del archivo si se encuentra, de lo contrario None. """ # Recorremos todos los elementos dentro de la carpeta actual for elemento in os.listdir(ruta): # Construimos la ruta completa del elemento ruta_completa = os.path.join(ruta, elemento) # Si el elemento es un archivo y su nombre coincide con el que buscamos if os.path.isfile(ruta_completa) and elemento == nombre_archivo: return ruta_completa # Si el elemento es una carpeta, llamamos recursivamente a la función elif os.path.isdir(ruta_completa): resultado = buscar_archivo(ruta_completa, nombre_archivo) if resultado: return resultado # Si no encontramos el archivo, devolvemos None return None # Ejemplo de uso ruta_busqueda = 'c:\\xampp' nombre_archivo = 'frases.hdtml' resultado = buscar_archivo(ruta_busqueda, nombre_archivo) if resultado: print(f'Archivo encontrado en: {resultado}') else: print('Archivo no encontrado')