Frage So finden Sie, ob ein Verzeichnis in Python existiert


In dem os Modul in Python gibt es eine Möglichkeit zu finden, ob ein Verzeichnis existiert, etwa wie folgt:

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

748
2018-01-19 21:03


Ursprung


Antworten:


Du schaust nach os.path.isdir, oder os.path.exists wenn es dir egal ist, ob es eine Datei oder ein Verzeichnis ist.

Beispiel:

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

1177
2018-01-19 21:07



So nah! os.path.isdir kehrt zurück True wenn Sie den Namen eines Verzeichnisses übergeben, das derzeit existiert. Wenn es nicht existiert oder es kein Verzeichnis ist, wird es zurückgegeben False.


50
2018-01-19 21:08



Ja, benutzen os.path.exists().


28
2018-01-19 21:06



Python 3.4 eingeführt das pathlib Modul in die Standardbibliothek, die einen objektorientierten Ansatz für die Handhabung von Dateisystempfaden bietet:

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 ist auch auf Python 2.7 via verfügbar das Modul pathlib2 auf PyPi.


19
2018-05-28 14:12



Ja, benutze es os.path.isdir (Pfad)


12
2018-01-19 21:08



Wie in:

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

Wahrscheinlich einwerfen os.path.isdir(...) um sicher zu sein.


7
2018-01-19 21:07



Wir können mit 2 eingebauten Funktionen überprüfen

os.path.isdir("directory")

Es gibt boolean true, das angegebene Verzeichnis ist verfügbar.

os.path.exists("directoryorfile")

Es gibt boolead true, wenn das angegebene Verzeichnis oder die angegebene Datei verfügbar ist.

Um zu überprüfen, ob der Pfad ein Verzeichnis ist;

os.path.isdir("directorypath")

gibt boolean true, wenn der Pfad ein Verzeichnis ist


4
2018-03-26 13:44



os bietet Ihnen viele dieser Möglichkeiten:

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

Das listdir löst eine Ausnahme aus, wenn der Eingabepfad ungültig ist.


3
2018-05-17 01:36



Nur um das zu bieten os.stat Version (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