Vérification de l’existence d’un fichier

Vous voulez tester si un fichier ou un répertoire existe ou non.

Utilisez le module os.path pour tester l’existence d’un fichier ou d’un répertoire. Par exemple:

>>> import os
>>> os.path.exists('/etc/passwd')
True
>>> os.path.exists('/tmp/spam')
False
>>>

 

Vous pouvez effectuer d’autres tests pour voir de quel type de fichier il s’agit. Ces tests retournent False si le fichier en question n’existe pas:

>>> # Est un fichier régulier
>>> os.path.isfile('/etc/passwd')
True
>>> # Est un répertoire
>>> os.path.isdir('/etc/passwd')
False
>>> # Est un lien symbolique
>>> os.path.islink('/usr/local/bin/python3')
True
>>> # Obtenir le fichier lié à
>>> os.path.realpath('/usr/local/bin/python3')
'/usr/local/bin/python3.3'
>>>

 

Si vous avez besoin de métadonnées (par exemple, la taille du fichier ou la date de modification), elles sont également disponibles dans le module os.path.

Le test de fichiers est une opération simple utilisant le module Python os.path.

>>> os.path.getsize('/etc/passwd')
78546

>>> os.path.getmtime('/etc/passwd')
1540548593.0

>>> import time
>>> time.ctime(os.path.getmtime('/etc/passwd'))
'Thu Oct 26 11:09:53 2018'

>>>

 

La seule chose à prendre en compte lors de l’écriture de scripts est sans doute le fait que vous pourriez avoir à vous soucier des autorisations, en particulier pour les opérations qui obtiennent des métadonnées. Par exemple:

>>> os.path.getsize('/Users/dodo/Desktop/toto.txt')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.3/genericpath.py", line 49, in getsize
return os.stat(filename).st_size
PermissionError: [Errno 13] Permission denied: '/Users/dodo/Desktop/toto.txt'
>>>

LAISSER UN COMMENTAIRE

Please enter your comment!
Please enter your name here