El módulo OS en Python proporciona funciones para interactuar con el sistema operativo. OS viene bajo los módulos de utilidad estándar de Python. Este módulo proporciona una forma portátil de usar la funcionalidad dependiente del sistema operativo.
os.scandir()
El método del módulo os produce os.DirEntry
objetos correspondientes a las entradas en el directorio dado por la ruta especificada. os.DirEntry
El objeto tiene varios atributos y métodos que se utilizan para exponer la ruta del archivo y otros atributos del archivo de la entrada del directorio.
is_dir()
El método en el os.DirEntry
objeto se usa para verificar si la entrada es un directorio o no.
Nota: os.DirEntry
los objetos están destinados a ser usados y desechados después de la iteración, ya que los atributos y métodos del objeto almacenan en caché sus valores y nunca los vuelven a recuperar. Si se han cambiado los metadatos del archivo o si ha pasado mucho tiempo desde que se llamó al método os.scandir() . no obtendremos información actualizada.
Sintaxis: os.DirEntry.is_dir(*, follow_symlinks = True)
Parámetro:
follow_symlinks: se requiere un valor booleano para este parámetro. Si la entrada es un enlace simbólico y follow_symlinks es True, entonces el método operará en la ruta a la que apunta el enlace simbólico. Si la entrada es un enlace simbólico y follow_symlinks es False, el método operará en el enlace simbólico mismo. Si la entrada no es un enlace simbólico, se ignora el parámetro follow_symlinks. El valor predeterminado de este parámetro es True.Valor de retorno: este método devuelve True si la entrada es un directorio; de lo contrario, devuelve False.
Código #1: Uso del os.DirEntry.is_dir()
método
# Python program to explain os.DirEntry.is_dir() method # importing os module import os # Directory to be scanned # Path path = "/home / ihritik" # Using os.scandir() method # scan the specified directory # and yield os.DirEntry object # for each file and sub-directory with os.scandir(path) as itr: for entry in itr : # Check if the entry # is directory if entry.is_dir() : print("% s is a directory." % entry.name) else: print("% s is not a directory." % entry.name)
file.txt is not a directory. Public is a directory. Desktop is a directory. R is a directory. Music is a directory. Documents is a directory. tree.cpp is not a directory. graph.cpp is not a directory. Pictures is a directory. GeeksForGeeks is a directory. Videos is a directory. images is a directory. Downloads is a directory. abc.txt is not a directory.
Código #2: Uso del os.DirEntry.is_dir()
método
# Python program to explain os.DirEntry.is_dir() method # importing os module import os # Directory to be scanned # Path path = "/home / ihritik" # Using os.scandir() method # scan the specified directory # and yield os.DirEntry object # for each file and sub-directory print("List of all directories in '% s':" % path) with os.scandir(path) as itr: for entry in itr : # Check if the entry # is directory if entry.is_dir() : # Exclude the directory name # starting with '.' if not entry.name.startswith('.') : # Print Directory name print(entry.name)
List of all directories in path '/home/ihritik': Public Desktop R Music Documents Pictures GeeksForGeeks Videos images Downloads
Referencias: https://docs.python.org/3/library/os.html#os.DirEntry.is_dir