Vous devez utiliser un brut doublez vos barres obliques ou utilisez des barres obliques à la place :
r'C:\Users\expoperialed\Desktop\Python'
'C:\\Users\\expoperialed\\Desktop\\Python'
'C:/Users/expoperialed/Desktop/Python'
Dans les chaînes Python normales, l'élément \U
signale un échappement de point de code Unicode étendu.
Vous pouvez frapper n'importe quel nombre d'autres questions, pour n'importe quelle autre séquences d'échappement reconnues comme \a
, \t
ou \x
.
Notez qu'à partir de Python 3.6, les séquences d'échappement non reconnues peuvent déclencher un message d'erreur. DeprecationWarning
(vous devrez supprimer le filtre par défaut pour celles-ci), et dans une future version de Python, de telles séquences d'échappement non reconnues provoqueront une erreur de type SyntaxError
. Aucune version spécifique n'a été fixée pour l'instant, mais Python utilisera en premier lieu SyntaxWarning
dans la version précédente, ce sera une erreur.
Si vous souhaitez trouver des problèmes de ce type dans les versions 3.6 et supérieures de Python, vous pouvez transformer l'avertissement en un message de type SyntaxError
exception en utilisant le filtre d'avertissements error:^invalid escape sequence .*:DeprecationWarning
(via un ligne de commande , variable d'environnement o appel de fonction ) :
Python 3.10.0 (default, Oct 15 2021, 22:25:32) [Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import warnings
>>> '\expoperialed'
'\\expoperialed'
>>> warnings.filterwarnings('default', '^invalid escape sequence .*', DeprecationWarning)
>>> '\expoperialed'
<stdin>:1: DeprecationWarning: invalid escape sequence '\e'
'\\expoperialed'
>>> warnings.filterwarnings('error', '^invalid escape sequence .*', DeprecationWarning)
>>> '\expoperialed'
File "<stdin>", line 1
'\expoperialed'
^^^^^^^^^^^^^^^
SyntaxError: invalid escape sequence '\e'