Maison >développement back-end >Tutoriel Python >Comment puis-je échapper correctement aux barres obliques inverses dans les littéraux de chaîne Python pour éviter les erreurs de décodage ?

Comment puis-je échapper correctement aux barres obliques inverses dans les littéraux de chaîne Python pour éviter les erreurs de décodage ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-11 15:22:14625parcourir

How Do I Properly Escape Backslashes in Python String Literals to Avoid Decoding Errors?

Échapper à une barre oblique inverse dans un littéral de chaîne Python

Lorsque vous essayez d'inclure une barre oblique inverse réelle dans un littéral de chaîne Python (sans l'utiliser comme séquence d'échappement), une erreur peut survenir indiquant un problème de décodage. Pour résoudre ce problème, préfixez la chaîne avec la lettre « r ».

Par exemple, considérons le code suivant :

import os
path = os.getcwd()
final = path +'\xulrunner.exe ' + path + '\application.ini'
print(final)

Ce code entraînera une erreur car les barres obliques inverses sont interprétées comme séquences d'échappement. Pour résoudre ce problème, préfixez les chaînes avec 'r' :

final= path + r'\xulrunner.exe ' + path + r'\application.ini'

Maintenant, le résultat sera comme prévu :

C:\Users\me\xulrunner.exe C:\Users\me\application.ini

Cependant, il est généralement préférable d'utiliser os.path .join pour construire des chemins de fichiers, car il gère automatiquement le séparateur de chemin spécifique à la plate-forme. Le code suivant utilise os.path.join pour créer le même chemin :

final = (os.path.join(path, 'xulrunner.exe') + ' ' +
         os.path.join(path, 'application.ini'))

De plus, notez que l'utilisation de barres obliques (/) dans les chemins de fichiers est acceptable, car elles seront automatiquement converties en séparateur approprié. pour le système d'exploitation.

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