todos - Cómo encontrar si el directorio existe en Python
manejo de archivos y carpetas en python (10)
¡Tan cerca! os.path.isdir
devuelve True
si pasa el nombre de un directorio que existe actualmente. Si no existe o no es un directorio, devuelve False
.
En el módulo os
en Python, hay una manera de encontrar si existe un directorio, algo como:
>>> os.direxists(os.path.join(os.getcwd()), ''new_folder'')) # in pseudocode
True/False
Como en:
In [3]: os.path.exists(''/d/temp'')
Out[3]: True
Probablemente tirar en un os.path.isdir(...)
para estar seguro.
Estás buscando os.path.isdir
, o os.path.exists
si no te importa si es un archivo o un directorio.
Ejemplo:
import os
print(os.path.isdir("/home/el"))
print(os.path.exists("/home/el/myfile.txt"))
Podemos comprobar con 2 funciones incorporadas.
os.path.isdir("directory")
Le dará verdadero booleano el directorio especificado está disponible.
os.path.exists("directoryorfile")
Dará boolead true si el directorio o archivo especificado está disponible.
Para comprobar si la ruta es directorio;
os.path.isdir("directorypath")
dará boolean true si la ruta es de directorio
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:
In [1]: from pathlib import Path
In [2]: p = Path(''/usr'')
In [3]: p.exists()
Out[3]: True
In [4]: p.is_dir()
Out[4]: True
In [5]: q = p / ''bin'' / ''vim''
In [6]: q.exists()
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.
Sí usar os.path.isdir(path)
Sí, use os.path.exists()
.
Solo para proporcionar la versión os.stat
(python 2):
import os, stat, errno
def CheckIsDir(directory):
try:
return stat.S_ISDIR(os.stat(directory).st_mode)
except OSError, e:
if e.errno == errno.ENOENT:
return False
raise
os proporciona muchas de estas capacidades:
import os
os.path.isdir(dir_in) #True/False: check if this is a directory
os.listdir(dir_in) #gets you a list of all files and directories under dir_in
listdir lanzará una excepción si la ruta de entrada no es válida.
#You can also check it get help for you
if not os.path.isdir(''mydir''):
print(''new directry has been created'')
os.system(''mkdir mydir'')