Maison >développement back-end >Tutoriel Python >Comment puis-je vérifier l'existence d'un fichier en Python sans utiliser d'exceptions ?

Comment puis-je vérifier l'existence d'un fichier en Python sans utiliser d'exceptions ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-12-21 03:18:13313parcourir

How Can I Check for File Existence in Python Without Using Exceptions?

Comment vérifier l'existence d'un fichier sans exception

Question :

Comment puis-je déterminer si un fichier existe sans recourir à exception manipulation ?

Réponse :

Approche try-sauf :

Lors de l'utilisation d'un bloc try-sauf pour vérifier le fichier L’existence peut paraître intuitive, elle introduit un risque pour la sécurité. Supposons que vous envisagez d'ouvrir le fichier après vérification. Dans ce cas, il est possible que le fichier soit supprimé ou modifié entre les opérations de vérification et d'ouverture.

os.path.isfile :

Pour les cas où le fichier immédiat l'ouverture n'est pas nécessaire, vous pouvez exploiter os.path.isfile. Cette fonction évalue si le chemin spécifié pointe vers un fichier existant, y compris ceux accessibles via des liens symboliques.

import os.path
os.path.isfile(fname)

Approche pathlib (Python 3.4) :

Python 3.4 introduit pathlib pour une approche d'interaction du système de fichiers orientée objet.

Pour vérifier le fichier existence :

from pathlib import Path

my_file = Path("/path/to/file")
if my_file.is_file():
    # file exists

Pour les répertoires :

if my_file.is_dir():
    # directory exists

Pour vérifier l'existence d'un chemin quel que soit le type de fichier :

if my_file.exists():
    # path exists

De plus, vous pouvez utiliser solve (strict=True) dans un bloc try pour une vérification plus précise :

try:
    my_abs_path = my_file.resolve(strict=True)
except FileNotFoundError:
    # doesn't exist
else:
    # exists

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn