# Obtener el directorio de trabajo actualdirectorio_actual = os.getcwd()print(f"Estás en: {directorio_actual}")
Una vez que sabemos en qué directorio estamos situados, puede interesarnos acceder a otro diferente (3). Para ellos disponemos de la función os.chdir() a la que pasamos como parámetro el string del directorio al que deseamos acceder para, por ejemplo, crear en él un nuevo directorio, para lo que empleamos la función os.mkdir(). Esto es lo que hace el siguiente script.
import os
# Obtenemos el directorio de trabajo inicial
directorio_inicial = os.getcwd()
print(f"Estás en: {directorio_inicial}")
# Cambiamos el directorio de trabajo y obtenemos su ruta
os.chdir('D:/ArchivosVarios')
directorio_actual = os.getcwd()
print(f"Y ahora estás en: {directorio_actual}")
# Y finalmente creamos un nuevo directorio en él.
os.mkdir('nuevo_directorio')
También podemos eliminar un directorio preexistente, tanto si está vacío (os.rmdir())...
os.rmdir('nuevo_directorio') # Módulo os. Elimina un directorio vacío
... como si no lo está, aunque para esto deberemos importar el módulo shutil, que debe ser usado con precaución (4).
import shutil # Módulo complementario para operaciones de archivos
shutil.rmtree('directorio_con_contenido') # ¡Cuidado! Elimina todo el contenido
Una vez que accedemos a un directorio nos puede interesar conocer qué subdirectorios y archivos contiene (listdir()), sólo qué archivos (isfile()) o sólo qué directorios (isdir())...
#Ahora listamos los subdirectorios y archivos del directorio actual
lista_conten= os.listdir('.') # '.' representa el directorio actual
print(f"Contenido del directorio: {lista_conten}")
#Sólo mostramos los archivos
archivos = [f for f in lista_conten if os.path.isfile(f)]
print(f"Archivos: {archivos}")
#Sólo mostramos los subdirectorios
directorios = [d for d in lista_conten if os.path.isdir(d)]
print(f"Directorios: {directorios}")
for elemento in lista_conten:tipo = "Directorio" if os.path.isdir(elemento) else "Archivo"tamaño = os.path.getsize(elemento) # Tamaño en bytesprint(f"{elemento} - {tipo} - {tamaño} bytes")
NOTAS
(2) La segunda instrucción es la que nos devuelve por pantalla esa ruta. En otras ocasiones puede interesarnos conocerla para trabajar con ella, de ahí el interés por asociarla a una variable.
(3) La función getcwd() es interesante para conocer desde donde se ejecuta nuestro script, pero necesitamos la función chdir() para navegar por el sistema de archivos.
(4) El módulo shutil permite realizar operaciones de alto nivel con archivos y colecciones de archivos, incluyendo la copia y el borrado de archivos y directorios. Su uso debe ser cuidadoso, ya que podemos eliminar accidentalmente archivos que no deseamos borrar.


No hay comentarios:
Publicar un comentario
Comenta esta entrada