una todos ruta recorrer nombre manejo los leer existe escribir ejecutar directorios directorio desde crear consola archivos archivo actual python

todos - Cómo identificar si un archivo es un archivo o directorio normal usando Python



python directorio actual (7)

¿Cómo se comprueba si un archivo es un archivo normal o un directorio que utiliza Python?


Como han dicho otras respuestas, os.path.isdir() y os.path.isfile() son lo que quieres. Sin embargo, debe tener en cuenta que estos no son los dos únicos casos. Utilice os.path.islink() para enlaces simbólicos, por ejemplo. Además, todos estos devuelven False si el archivo no existe, por lo que es probable que también desee consultar con os.path.exists() .


Python 3.4 introdujo el módulo pathlib en la biblioteca estándar, que proporciona un enfoque orientado a objetos para manejar las rutas del sistema de archivos. Los métodos .is_file() serían .is_file() y .is_dir() :

In [1]: from pathlib import Path In [2]: p = Path(''/usr'') In [3]: p.is_file() Out[3]: False In [4]: p.is_dir() Out[4]: True In [5]: q = p / ''bin'' / ''vim'' In [6]: q.is_file() Out[6]: True In [7]: q.is_dir() Out[7]: False

Pathlib también está disponible en Python 2.7 a través del módulo pathlib2 en PyPi.


Si solo está recorriendo un conjunto de directorios, es mejor que pruebe os.chdir y proporcione un error / advertencia si falla:

import os,sys for DirName in sys.argv[1:]: SaveDir = os.getcwd() try: os.chdir(DirName) print "Changed to "+DirName # Do some stuff here in the directory os.chdir(SaveDir) except: sys.stderr.write("%s: WARNING: Cannot change to %s/n" % (sys.argv[0],DirName))


prueba esto:

import os.path if os.path.isdir("path/to/your/file"): print "it''s a directory" else: print "it''s a file"



os.path.isdir(''string'') os.path.isfile(''string'')


import os if os.path.isdir(d): print "dir" else: print "file"