В модуле os
в Python существует ли способ найти каталог, например:
>>> os.direxists(os.path.join(os.getcwd()), 'new_folder')) # in pseudocode
True/False
В модуле os
в Python существует ли способ найти каталог, например:
>>> os.direxists(os.path.join(os.getcwd()), 'new_folder')) # in pseudocode
True/False
Вы ищете os.path.isdir
или os.path.exists
, если вам все равно будь то файл или каталог.
Пример:
import os
print(os.path.isdir("/home/el"))
print(os.path.exists("/home/el/myfile.txt"))
Так близко! os.path.isdir
возвращает True
, если вы передадите имя существующей директории. Если он не существует или он не является каталогом, он возвращает False
.
Да, используйте os.path.exists()
.
Да используйте os.path.isdir(путь)
Как в:
In [3]: os.path.exists('/d/temp')
Out[3]: True
Вероятно, бросьте в os.path.isdir(...)
.
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.
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 выдает исключение, если входной путь недействителен.
Просто чтобы предоставить версию 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
#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')