Je sais que le nom de fichier est file001.txt
ou FILE001.TXT
, mais je ne sais pas lequel. Le fichier se trouve sur une machine Windows à laquelle j'accède via le point de montage Samba.Je ne sais pas si un fichier existe sur un partage samba
Les fonctions os.path
semblent agir comme si elles étaient insensibles à la casse, mais la fonction open
semble être sensible à la casse:
>>> from os.path import exists, isfile
>>> exists('FILE001.TXT')
True
>>> isfile('FILE001.TXT')
True
>>> open('FILE001.TXT')
Traceback (most recent call last):
File "<console>", line 1, in <module>
IOError: [Errno 2] No such file or directory: 'FILE001.TXT'
>>> open('file001.txt') # no problem
Alors, mes questions sont les suivantes:
Existe-t-il un moyen de déterminer le nom du fichier sans ouvrir le fichier (ou en listant le répertoire dans lequel il se trouve)?
Pourquoi est-ce que
open
est sensible à la casse lorsqueos.path
ne l'est pas?
Mise à jour: Merci pour les réponses, mais this isn't a python problem donc je ferme la question.
J'étais plein d'espoir pour cette suggestion, mais 'nocase' ne change pas le comportement. FILE001.TXT et file001.txt retournent tous deux la valeur true dans 'os.path.exists'. – Seth
@Seth Os.path.normcase (fichier) renvoie-t-il le nom de fichier avec le bon cas? Vous devrez m'excuser si c'est une question naïve que je n'ai pas touché python lui-même depuis un moment. –