150 votes

Comment identifier si un fichier est un fichier normal ou un répertoire ?

Comment vérifier si un fichier est un fichier normal ou un répertoire en utilisant python ?

178voto

PTBNL Points 2344

os.path.isdir() et os.path.isfile() devrait vous donner ce que vous voulez. Regardez : http://docs.python.org/library/os.path.html

42voto

retracile Points 6301

Comme d'autres réponses l'ont dit, os.path.isdir() et os.path.isfile() sont ce que vous voulez. Toutefois, vous devez garder à l'esprit que ce ne sont pas les deux seuls cas de figure. Utilisez os.path.islink() pour les liens symboliques par exemple. En outre, tous ces éléments renvoient False si le fichier n'existe pas, donc vous voudrez probablement vérifier avec os.path.exists() également.

16voto

joelostblom Points 7189

Introduction de Python 3.4 le site pathlib module dans la bibliothèque standard, qui fournit une approche orientée objet pour gérer les chemins du système de fichiers. Les méthodes pertinentes sont les suivantes .is_file() et .is_dir() :

In [1]: from pathlib import Path

In [2]: p = Path('/usr')

In [3]: p.is_file()
Out[3]: False

In [4]: p.is_dir()
Out[4]: True

In [5]: q = p / 'bin' / 'vim'

In [6]: q.is_file()
Out[6]: True

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

Pathlib est également disponible sur Python 2.7 via le module pathlib2 sur PyPi.

8voto

Dominic Rodger Points 44489
import os

if os.path.isdir(d):
    print "dir"
else:
    print "file"

3voto

erenon Points 9361
os.path.isdir('string')
os.path.isfile('string')

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X