Introduction
Vous pouvez créer une chaîne brute en Python en préfixant une littérale de chaîne avec r
ou R
. La chaîne brute en Python traite le caractère barre oblique (\) comme un caractère littéral. La chaîne brute est utile lorsqu’une chaîne doit contenir une barre oblique, comme pour une expression régulière ou un chemin de répertoire Windows, et que vous ne voulez pas qu’elle soit traitée comme un caractère d’échappement. Cet article couvre les bases du fonctionnement des chaînes brutes en Python et fournit quelques exemples courants de l’utilisation des chaînes brutes pour inclure des caractères spéciaux dans les chaînes.
Les exemples dans cet article utilisent la console interactive Python dans la ligne de commande pour démontrer différentes situations de chaînes brutes.
Inclusion d’un caractère de nouvelle ligne dans une chaîne à l’aide d’une chaîne brute
Cet exemple utilise une chaîne avec une valeur : Salut\nBonjour
. Si vous essayez d’assigner cette valeur à une chaîne normale, le caractère de nouvelle ligne (\n
) crée une nouvelle ligne :
- s = 'Hi\nHello'
Affichez la chaîne :
- print(s)
La sortie est :
Hi
Hello
La sortie montre que le caractère de nouvelle ligne entraîne une nouvelle ligne.
Pour inclure le caractère de saut de ligne dans la chaîne, préfixez la variable de chaîne avec r
ou R
pour créer une chaîne brute :
- raw_s = r'Hi\nHello'
Imprimez la chaîne :
- print(raw_s)
La sortie est :
Hi\nHello
La sortie inclut le caractère de saut de ligne.
Inclusion de caractères de double barre oblique dans une chaîne en utilisant une chaîne brute
Si vous essayez d’inclure des caractères de double barre oblique, comme pour un chemin d’hôte, dans une chaîne normale, alors le premier caractère de barre oblique inverse ne sera pas imprimé car le compilateur considère la barre oblique inverse comme un indicateur d’échappement.
Par exemple, créez une chaîne qui contient un chemin :
- s = '\\examplehost\digitalocean\content\'
Imprimez la chaîne :
- print(s)
La sortie est :
\examplehost\digitalocean\content\
La sortie montre que le premier caractère de barre oblique inverse n’est pas inclus dans la chaîne.
Pour inclure les deux caractères de barre oblique inverse dans la chaîne, préfixez la variable de chaîne avec r
ou R
pour créer une chaîne brute :
- s = r'\\examplehost\digitalocean\content\'
Imprimez la chaîne :
- print(s)
La sortie est :
\\examplehost\digitalocean\content\
La sortie inclut les deux caractères de barre oblique inverse.
Citations de dépannage et caractères barre oblique inverse dans les chaînes brutes
Dans une chaîne brute, les guillemets peuvent toujours être échappés avec un seul caractère de barre oblique inverse, cependant, le caractère de barre oblique inverse reste dans la chaîne brute résultante.
De plus, une chaîne brute ne peut pas se terminer par un nombre impair de caractères de barre oblique inverse. En raison de cette fonctionnalité, il n’est pas possible de créer une chaîne brute contenant un seul caractère de barre oblique inverse, donc r"/"
est une chaîne non valide.
Exemples de chaînes brutes non valides
Dans cet exemple, le guillemet de fin est manquant dans la sortie car il est échappé par le caractère de barre oblique inverse, entraînant une erreur de littéral de chaîne non terminé
:
r'\'
Dans cet exemple, les deux premières barres obliques inverses vont s’échapper mutuellement, et la troisième tentera d’échapper le guillemet de fin, entraînant une erreur de littéral de chaîne non terminé
:
r'ab\\\'
Exemples de chaînes brutes valides
Voici quelques exemples de chaînes brutes valides qui incluent des guillemets et des caractères d’échappement.
Créez une chaîne brute qui échappe aux guillemets :
- s = r"\"\""
Imprimez la chaîne :
- print(s)
La sortie est :
\"\"
La sortie montre que les caractères d’échappement en arrière permettent d’échapper aux guillemets pour que la chaîne ne se termine pas, mais les caractères d’échappement en arrière restent dans la chaîne résultante.
Créez une chaîne brute avec un nombre pair de caractères d’échappement en arrière :
- s = R'ab\\'
Imprimez la chaîne :
- print(s)
La sortie est :
ab\\
La sortie montre que le nombre pair de caractères d’échappement en arrière est inclus dans la chaîne résultante.
Conclusion
Dans cet article, vous avez appris les bases des chaînes brutes en Python. Continuez votre apprentissage sur les chaînes Python.
Source:
https://www.digitalocean.com/community/tutorials/python-raw-string