os.chemin d'accès.isdir() retourne False, même lorsque l'existence d'un dossier
Je suis en train d'écrire un script qui doit vérifier si tous les dossiers spécifiés existent réellement.
J'ai découvert que j'ai à utiliser os.chemin d'accès.isdir() avec des chemins absolus.
J'ai la structure de répertoire suivante:
X:\
pythonscripts\
files\
Films\
Series\
src\
Quand j'ai ouvert mon op python en ligne de commande et essayez si les dossiers existent réellement, je reçois le texte suivant:
>>> import os
>>> os.path.isdir('X:\pythonscripts\src')
True
>>> os.path.isdir('X:\pythonscripts\files')
False
>>> os.path.isdir('X:\pythonscripts\files\Films')
False
>>> os.path.isdir('X:\pythonscripts\files\Series')
False
Ce qui est étrange, parce que quand je fais un copier-coller de ces chemins dans l'Explorateur Windows, je peux y accéder sans problème. J'ai vérifié les autorisations et tous les dossiers ont les mêmes autorisations sur eux. Personne ne sait ce que je fais mal?
Vous devez vous connecter pour publier un commentaire.
D'échappement barre oblique inverse (
\
)ou de l'utilisation chaîne brute:
sans escape, vous obtenez un mauvais chemin d'accès:
Plutôt que d'utiliser \, vous pouvez utiliser le système d'exploitation.chemin d'accès.sep de sorte que votre code fonctionne sur d'autres plates-formes, alors vous n'avez pas à échapper à ces deux.
Lorsque vous utilisez
vous obtenez rit de frontslash/barre oblique inverse problemens. (Mais il peut changer le sens, il suffit donc de savoir ce que vous faites. Mais pour les chemins d'accès normaux il n'y a pas de problème)
https://docs.python.org/3.6/library/os.path.html#os.path.normpath
Fonctionne très bien 🙂