pour lister les répertoires, jusque là normal ...
sous linux, ça se passe à merveille, jusque là normal ...
mais sous windows, le résultat est différent. Non seulement os.listdir() me retourne plus de fichiers que ce que me donne le browser de windows(admettons des fichiers cachés), mais os.access(path,os.R_OK) ne filtre pas et os.listdir() raise une exception comme quoi l'accès est refusé.
et je cherche une solution ... autre que try/except.
os.access semble effectivement ne pas fonctionner correctement sur Windows. Le problème perdure depuis plusieurs versions déjà.
Je ne sais pas ce que tu cherche vraiment à faire, mais peut-être que os.walk te sera utile. Il ignore les dossiers inaccessibles sans déclencher d'exception. À voir.
[edit] Par contre, les forums que j'ai lu (ne datent pas de la dernière pluie) préconisent tous la gestion des exceptions.
j'ai trouvé que les fichiers supplémentaires retournés par listdir() sont des "fichiers protégés du systeme" et nécessistent une autorisation spéciale.
pour os.access() ils sont readables ...
PsycoPy,
effectivement je crois que try/except s'impose.
os.walk() est bien pratique mais chez moi(j'ai dû mal l'utiliser) lève quand même une execption: Stop Iteration.
merci,
mais finalement j'ai opté pour le bloc try/except car j'ai besoin de savoir si le dossier est accessible ou pas;
or os.walk() ne raise apparement rien et os.access() est inefficace sous windows.
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.
Python c'est bon, mangez-en.