Maison >développement back-end >Tutoriel Python >Comment corriger l'erreur 'UnicodeError : le codec 'unicodeescape' ne peut pas décoder les octets' lors de la gestion des chemins de fichiers Windows en Python ?

Comment corriger l'erreur 'UnicodeError : le codec 'unicodeescape' ne peut pas décoder les octets' lors de la gestion des chemins de fichiers Windows en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-15 14:32:16643parcourir

How to Fix the

Erreur Unicode : résolution du problème « unicodeescape » lors de l'écriture des chemins de fichiers Windows

Dans Python 3.1 sur Windows 7, tenter de lire ou d'écrire des chemins de fichiers Windows peut entraîner un Exception "Erreur Unicode 'unicodeescape' ne peut pas décoder les octets". Ce problème est souvent rencontré lorsque la langue du système par défaut est le russe et que le codage UTF-8 est utilisé.

Racine du problème

L'erreur se produit en raison d'échappements Unicode non valides dans le chemin du fichier. Par exemple, le chemin "C:UsersEricDesktopbeeline.txt" contient une séquence d'échappement Unicode non valide "U dans le répertoire "Utilisateurs". Les exemples suivants illustrent le problème :

>>> g = codecs.open("C:\Users\Eric\Desktop\beeline.txt", "r", encoding="utf-8")
>>> g = codecs.open("C:\Users\Eric\Desktop\Site.txt", "r", encoding="utf-8")
>>> g = codecs.open("C:\Python31\Notes.txt", "r", encoding="utf-8")

Solution

Pour résoudre le problème, il existe deux approches principales :

  1. Double Barres obliques inverses : dupliquez toutes les barres obliques inverses dans le chemin du fichier pour les échapper, comme le montre l'exemple ci-dessous :
>>> g = codecs.open("C:\Users\Eric\Desktop\beeline.txt", "r", encoding="utf-8")
  1. Chaînes brutes : préfixez le fichier chemin avec la lettre « r » pour créer une chaîne brute, ce qui empêche les barres obliques inverses d'être interprétées comme un échappement caractères :
>>> g = codecs.open(r"C:\Users\Eric\Desktop\beeline.txt", "r", encoding="utf-8")

En implémentant l'une de ces solutions, vous pouvez rectifier l'erreur Unicode et ouvrir et accéder avec succès aux fichiers contenant des caractères russes dans leurs chemins.

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