f-string expression part cannot include a backslash

Python Erreur courante

Explication

L'erreur `SyntaxError: f-string expression part cannot include a backslash` survient, **avant Python 3.12**, quand vous mettez un **antislash** (`\n`, `\t`...) à l'intérieur de la partie expression `{ }` d'une f-string. Depuis Python 3.12, c'est autorisé. ```python lignes = ["a", "b"] print(f"{'\n'.join(lignes)}") # antislash dans l'expression (Python < 3.12) # SyntaxError: f-string expression part cannot include a backslash ```

Causes courantes

- **Antislash dans `{ }`** d'une f-string sous Python 3.6–3.11. - **Caractères d'échappement** (`\n`, `\t`, `\\`) placés dans l'expression plutôt qu'en dehors.

1. Sortez l'antislash dans une variable

saut = "\n"
print(f"{saut.join(lignes)}")   # ✅ plus d'antislash dans l'accolade

2. Utilisez chr() pour le caractère

print(f"{chr(10).join(lignes)}")   # chr(10) = saut de ligne

3. Préparez la valeur avant la f-string

texte = "\n".join(lignes)
print(f"{texte}")

4. Passez à Python 3.12+

Depuis la version 3.12, les antislashes sont autorisés dans les f-strings : le code d'origine fonctionne tel quel.

Comment prevenir cette erreur

- **Extrayez les séquences d'échappement** (`\n`, `\t`) dans des variables hors de la f-string si vous ciblez Python < 3.12. - Vérifiez votre version : `python --version`. - Référence : [docs.python.org — f-strings](https://docs.python.org/fr/3/reference/lexical_analysis.html#f-strings).

Besoin d'aide sur votre projet ?

Besoin d'aide sur un probleme technique ? Decrivez-le pour des recommandations.

Nous contacter

Questions frequentes

Pourquoi cette limite existait-elle ?
L'analyseur des f-strings (avant 3.12) ne savait pas traiter les antislashes dans la partie expression. La PEP 701 (Python 3.12) a réécrit cet analyseur et levé la restriction.
Comment insérer un saut de ligne entre éléments dans une f-string ?
Définissez `nl = "\n"` puis `f"{nl.join(elements)}"`, ou passez à Python 3.12 où `f"{'\n'.join(elements)}"` est accepté directement.

Erreurs similaires

Chaque semaine, le meilleur de la tech francaise

Tendances, salaires, outils et opportunites — directement dans votre boite mail.

Gratuit. Desabonnement en un clic. Pas de spam.