Pregunta Cómo encontrar si el directorio existe en Python


En el os módulo en Python, ¿hay alguna manera de encontrar si existe un directorio, algo así como:

>>> os.direxists(os.path.join(os.getcwd()), 'new_folder')) # in pseudocode
True/False

748
2018-01-19 21:03


origen


Respuestas:


Estas 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"))

1177
2018-01-19 21:07



¡Tan cerca! os.path.isdir devoluciones True si pasa el nombre de un directorio que existe actualmente. Si no existe o no es un directorio, entonces regresa False.


50
2018-01-19 21:08



Sí, use os.path.exists().


28
2018-01-19 21:06



Python 3.4 introducido el pathlib módulo 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 via el módulo pathlib2 en PyPi.


19
2018-05-28 14:12



Sí uso os.path.isdir (ruta)


12
2018-01-19 21:08



Como en:

In [3]: os.path.exists('/d/temp')
Out[3]: True

Probablemente lanzar en un os.path.isdir(...) para estar seguro.


7
2018-01-19 21:07



Podemos verificar con 2 funciones integradas

os.path.isdir("directory")

Le dará a boolean true el directorio especificado está disponible.

os.path.exists("directoryorfile")

Le dará a boolead true si el directorio o archivo especificado está disponible.

Para verificar si la ruta es directorio;

os.path.isdir("directorypath")

dará boolean true si la ruta es directorio


4
2018-03-26 13:44



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.


3
2018-05-17 01:36



Solo para proporcionar el os.stat versión (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

3
2018-04-05 05:42



#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')

2
2017-11-12 03:17