Как найти, существует ли каталог в Python

В модуле os в Python существует ли способ найти каталог, например:

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

Ответ 1

Вы ищете os.path.isdir или os.path.exists, если вам все равно будь то файл или каталог.

Пример:

import os
print(os.path.isdir("/home/el"))
print(os.path.exists("/home/el/myfile.txt"))

Ответ 2

Так близко! os.path.isdir возвращает True, если вы передадите имя существующей директории. Если он не существует или он не является каталогом, он возвращает False.

Ответ 5

Как в:

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

Вероятно, бросьте в os.path.isdir(...).

Ответ 6

Python 3.4 представил модуль pathlib в стандартную библиотеку, которая обеспечивает объектно-ориентированный подход для обработки путей файловой системы:

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 также доступен на Python 2.7 через модуль pathlib2 на PyPi.

Ответ 7

os предоставляет вам множество возможностей:

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 выдает исключение, если входной путь недействителен.

Ответ 8

Просто чтобы предоставить версию 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

Ответ 9

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