Python ne peut ouvrir, lire et écrire dans des fichiers que si un interpréteur dispose des autorisations nécessaires. Si vous essayez d’ouvrir, de lire ou d’écrire dans un fichier sur lequel Python n’a aucune autorisation, vous rencontrerez l’erreur PermissionError : [errno 13] autorisation refusée
.
Dans ce guide, nous expliquons ce que signifie cette erreur et pourquoi elle est générée. Nous allons parcourir un exemple afin que vous puissiez apprendre exactement comment résoudre cette erreur.
PermissionError : [errno 13] autorisation refusée
Les ordinateurs utilisent les autorisations de fichier pour protéger l’intégrité des fichiers . Certains fichiers ont un accès restreint par défaut. Vous pouvez modifier les autorisations d’accès à un fichier à tout moment.
Disons que vous travaillez sur un programme important. Vous voudrez peut-être que ce programme ne soit lisible que par vous. Pour ce faire, vous pouvez modifier le "lire‚" autorisations sur tous les fichiers et dossiers de votre programme. Cela limiterait l’accès à votre programme.
Tout fichier auquel vous essayez d’accéder à partir d’un programme Python doit être lisible par l’utilisateur ou le groupe qui exécute le fichier.
Si vous exécutez un script Python à partir d’un processus de serveur Web, par exemple, vous devez vous assurer que l’utilisateur propriétaire du serveur Web a accès à tous les fichiers que vous référencez dans votre code.
Un exemple de scénario
Nous allons créer un programme qui lit une liste de scores NFL à partir d’un fichier dans un programme.
Nous avons un fichier appelé afc_east.csv qui contient les éléments suivants :
81 % des participants ont déclaré qu’ils se sentaient plus confiants quant à leurs perspectives d’emploi en technologie après avoir assisté à un bootcamp. Soyez jumelé à un bootcamp aujourd’hui.
Le diplômé moyen d’un bootcamp a passé moins de six mois en transition de carrière, du démarrage d’un bootcamp à la recherche de son premier emploi.
Notre fichier est un fichier CSV. Nous allons importer le module Python csv dans notre code afin de pouvoir travailler avec le fichier :
Ensuite, ouvrons notre fichier dans notre programme Python. Nous pouvons le faire en utilisant l’instruction csv.reader()
:
Ce code s’ouvrira le fichier appelé afc_east.csv en mode lecture. Ensuite, le lecteur CSV interprétera le fichier. Le lecteur CSV renverra une liste de valeurs sur lesquelles nous pouvons itérer. Nous imprimons ensuite chacune de ces valeurs sur la console en utilisant une for loop et une instruction print()
afin que nous puissions voir le contenu de notre fichier ligne par ligne.