Pythonにディレクトリが存在するかどうかを確認する方法

2012年01月20日に質問されました。  ·  閲覧回数 1.1M回  ·  ソース

David542 picture
2012年01月20日

Pythonのosモジュールには、次のようなディレクトリが存在するかどうかを確認する方法があります。

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

回答

phihag picture
2012年01月20日
1805

os.path.isdirを探しているか、ファイルかディレクトリかを気にしない場合はos.path.existsを探しています。

>>> import os
>>> os.path.isdir('new_folder')
True
>>> os.path.exists(os.path.join(os.getcwd(), 'new_folder', 'file.txt'))
False

または、 pathlib使用することもできます。

 >>> from pathlib import Path
 >>> Path('new_folder').is_dir()
 True
 >>> (Path.cwd() / 'new_folder' / 'file.txt').exists()
 False
joelostblom picture
2017年05月28日
84

Python 3.4ではpathlibモジュールが標準ライブラリに導入されましPathオブジェクトのis_dir()メソッドとexists()メソッドを使用して、次の質問に答えることができます。

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
Out[6]: PosixPath('/usr/bin/vim') 

In [7]: q.exists()
Out[7]: True

In [8]: q.is_dir()
Out[8]: False

Pathlibは、PyPiのpathlib2モジュールを介し

Kirk Strauser picture
2012年01月20日
79

とても近い! os.path.isdirは、現在存在するディレクトリの名前を渡すとTrue os.path.isdir返します。 存在しない場合、またはディレクトリでない場合は、 False返します。

aganders3 picture
2012年01月20日
36

はい、 os.path.exists()ます。

Vivek Ananthan picture
2018年03月26日
23

2つの組み込み関数で確認できます

os.path.isdir("directory")

指定されたディレクトリが使用可能であることがブール値trueになります。

os.path.exists("directoryorfile")

指定されたディレクトリまたはファイルが使用可能な場合、booleadはtrueになります。

パスがディレクトリかどうかを確認するには;

os.path.isdir("directorypath")

パスがディレクトリの場合、ブール値はtrueになります

RanRag picture
2012年01月20日
16

はいos.path.isdir(path)を使用します

AlG picture
2012年01月20日
11

のように:

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

確かにos.path.isdir(...)を投げるでしょう。

Tyler A. picture
2016年04月05日
10

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
dputros picture
2013年05月17日
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は例外をスローします。

JoboFive picture
2017年11月12日
5
#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')