logo

Método Python os.listdir()

Es muy posible que nos hayamos encontrado con muchos casos en nuestra vida en los que queremos saber cuántos y qué archivos están presentes en un directorio (carpeta). O, a veces, tenemos que buscar un archivo y sabemos su nombre, pero no sabemos en qué carpeta está presente. En ese caso la única opción que nos queda es buscar el archivo en el directorio de destino.

Ahora bien, a muchos de nosotros nos parecería muy fácil pensar; sólo tenemos que ir al directorio y buscar allí. Esta es una opción posible, pero esta opción solo funcionará cuando tengamos una cantidad menor de archivos presentes en ese directorio. Sólo entonces podremos visitar ese directorio manualmente y buscar los archivos presentes allí. Pero, ¿qué pasa en el caso de una gran cantidad de archivos, digamos simplemente miles de archivos presentes en el directorio de destino? En ese caso, esta opción no funcionará porque llevará mucho tiempo (incluso muchos días) buscar si un archivo específico está presente en el directorio de destino donde hay miles de archivos. Parece lo que deberíamos hacer si tenemos que encontrar un archivo con su nombre dentro de un directorio que tiene miles de archivos.

Podemos buscar el nombre a través del explorador de archivos, pero si lo hacemos también nos va a llevar mucho tiempo, no como en la opción anterior pero sí, mucho tiempo. Esto se debe a que el explorador de archivos escaneará todos los archivos presentes en el directorio y tenemos que esperar mucho hasta que se complete el escaneo del disco.

Pero, ¿qué pasa si decimos que ya hemos proporcionado los nombres de todos los archivos presentes en el directorio o ruta de destino? Luego, nos resultará muy fácil comprobar si el archivo especificado está presente en la ruta de destino y también muestra dónde debemos obtener los nombres de todos los archivos presentes en el directorio de destino.

Si se nos da una lista de nombres de todos los archivos presentes en un directorio en forma de texto, solo tenemos que escribir el nombre de ese archivo específico en la barra de búsqueda. Y, entonces, apenas tardará un segundo en saber si el archivo está presente en la lista de nombres o no. Por lo tanto, podemos entender lo importante que es tener un método donde podamos imprimir la lista de nombres de todos los archivos presentes en un directorio o ruta.

Python nos proporciona métodos donde podemos imprimir la lista de nombres, y uno de esos métodos es la función listdir() del módulo 'os'. Aprenderemos este método listdir() en este tutorial y lo usaremos en un programa Python para imprimir una lista de nombres de todos los archivos presentes en la ruta especificada.

actor chiranjeevi

Método os.listdir() en Python

La función listdir() es una función proporcionada por el módulo del sistema operativo y, al usar esta función, podemos imprimir una lista de nombres de todos los archivos presentes en la ruta especificada. El método listdir() también se puede utilizar si queremos imprimir la lista de archivos presentes en el directorio de trabajo actual (donde está presente el programa). Podemos usar el método listdir() siempre que necesitemos obtener los nombres de todos los archivos presentes en un directorio específico.

Sintaxis de la función os.listdir():

La siguiente es la sintaxis para usar la función listdir() del módulo del sistema operativo:

 >> os.listdir(pathSpecified) 

Parámetros:

Como podemos ver en la sintaxis anterior, solo hemos proporcionado un argumento dentro del método listdir(). La función listdir() toma el siguiente parámetro de ruta:

    rutaEspecificado:Aquí, la variable pathSpecified representa la ruta del directorio de destino desde donde queremos saber el nombre de todos los archivos. Este es un argumento opcional en la función listdir(), y si no proporcionamos una ruta especificada dentro de la función, imprimirá todos los nombres de archivos del directorio de trabajo actual.

Tipo de devolución:

El tipo de retorno de la función listdir() es 'lista', ya que devuelve una lista de nombres de todos los archivos presentes en el directorio especificado.

os.listdir() Método: Implementación:

Para comprender el funcionamiento y la implementación de la función listdir(), la usaremos en un programa de ejemplo e imprimiremos la lista de nombres de archivos. Hemos dividido la parte de implementación de la función listdir() en las dos partes siguientes:

  1. Imprimir nombres de archivos desde el directorio de trabajo actual
  2. Imprimir nombres de archivos desde la ruta especificada

Usaremos un programa de ejemplo para cada categoría y obtendremos los nombres de los archivos en cada método.

Método 1: Imprimir nombres de archivos desde el directorio de trabajo actual:

En este método, imprimiremos la lista de nombres de archivos del directorio de trabajo actual usando otra función del módulo del sistema operativo, es decir, la función getcwd(). Mire el siguiente programa de ejemplo para comprender la implementación de este método:

Ejemplo 1:

Mire el siguiente programa Python donde usamos el método os.listdir() con el argumento de ruta:

 # Import os module import os # Use getcwd() function pathSpecified = os.getcwd() # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

Producción:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Como podemos ver, los nombres de todos los archivos presentes en nuestro directorio de trabajo actual se imprimen en la salida del programa.

Explicación:

tercera forma normal

Después de importar el módulo del sistema operativo en el programa, utilizamos la función getcwd() para obtener la ruta del directorio de trabajo actual. Inicializamos una variable con el nombre 'pathSpecified' y almacenamos la ruta del directorio de trabajo actual en esta variable. Después de eso, hemos utilizado la función listdir() en otra variable inicializada, es decir, listOfFileNames, para almacenar el nombre de todos los archivos en esta variable. Proporcionamos una variable inicializada para la ruta de trabajo actual como argumento en la función listdir() y, por último, imprimimos la lista de todos los nombres en la salida usando una declaración de impresión.

Si no queremos utilizar ninguna otra función en nuestro programa, también podemos obtener todos los nombres de archivos del directorio actual en el que está presente el programa. Sólo tenemos que dejar la función listdir() en lugar de proporcionar la ruta de cualquier directorio como argumento, y después de eso, el programa, cuando se ejecute, dará como resultado en la salida la lista de todos los nombres presentes en el directorio actual. Mire el siguiente programa de ejemplo para comprender la implementación de este método:

Ejemplo 2:

Mire el siguiente programa Python donde usamos el método os.listdir() sin ningún argumento:

 # Import os module import os # Using listdir() function listOfFileNames = os.listdir() # Print the name of all files in the current working directory print('Following is the list of names of all the files present in the current working directory: ') print(listOfFileNames) 

Producción:

 Following is the list of names of all the files present in the current working directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ???., Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Como podemos ver, una lista de nombres de todos los archivos presentes en el archivo actual donde está instalado Python se imprime en la salida después de ejecutar el programa.

pitón o

Explicación:

En este programa, hemos omitido el parámetro de ruta y aún obtenemos la lista de nombres de todos los archivos presentes en el directorio de trabajo actual. Preferiremos utilizar este método si queremos obtener la lista de todos los nombres de archivos del directorio de trabajo actual. Porque en este método, no tenemos que usar ningún argumento ni definir ninguna variable de ruta y, por lo tanto, guarda cualquier línea adicional de código en nuestro programa y nos ahorra tiempo.

Método 2: Imprimir nombres de archivos desde la ruta especificada:

En este método, podemos obtener la lista de nombres de todos los archivos presentes en un directorio específico proporcionando la ruta especificada del directorio dentro de la función listdir(). Podemos obtener la ruta del directorio desde la opción de propiedades del archivo y luego podemos usar el mismo archivo en el programa. Mire el siguiente programa de ejemplo para comprender la implementación de este método:

Ejemplo 3:

Mire el siguiente programa Python donde usamos el método os.listdir() con el argumento de ruta:

 # Import os module import os # Define the specified path pathSpecified = ' C:UsersManishDownloads' # Using listdir() function listOfFileNames = os.listdir(pathSpecified) # Print the name of all files in directory print('Following is the list of names of all the files present in the specified directory: ') print(listOfFileNames) 

Producción:

 Following is the list of names of all the files present in the specified directory: ['.ipynb_checkpoints', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36_.pdf', '1510981730952-33afef2b-eb41-4592-8d3f-bd3e19932d36__19.webp', '1527589430558.webp', '1605467180870.webp', '1605467180879.webp', '160591-fruit-template-16x9.pptx', '1613034967066.webp', '1613034967083.webp', '1613035079325.webp', '1613035270313.webp', '1616159417742.webp', '1616159417758.webp', ........, Windows11InstallationAssistant.exe', 'WindowsPCHealthCheckSetup.msi', 'Word frequency Python.edited.docx', 'wrong.webp', 'X-ray image.webp', 'XML-data.xml', 'yemen500.webp', 'zambia-500.webp', 'zimbabwe-500.webp', 'ZoomInstaller (1).exe', 'ZoomInstaller.exe', '__pycache__', '~$EOC CERTIFICATE.pptx'] 

Como podemos ver, los nombres de todos los archivos presentes en el directorio especificado se imprimen en la salida del programa.

Explicación:

Después de importar el módulo del sistema operativo en el programa, primero definimos la ruta del directorio desde donde queremos imprimir la lista de todos los nombres de archivos inicializando una variable de ruta. Después de eso, usamos la variable de ruta inicializada dentro del método listdir() para usar la ruta como argumento en la función. Por último, utilizamos otra variable inicializada (listOfFileNames) dentro de la declaración de impresión para imprimir el resultado en la salida.

Conclusión

Aprendimos sobre el método listdir() del módulo os en este tutorial y entendimos la importancia de esta función. Aprendemos sobre la sintaxis de esta función y luego, aprendemos los métodos para usar esta función. Por último, utilizamos el programa Python con la función listdir() para comprender la implementación de cada método.