Python. Ошибка os.path.splitext

Когда я использую данный путь(часть пути файла):
C:\Users
В функции
os.path.splitext()
То вылетает ошибка:
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
Как исправить?


Ответы (1 шт):

Автор решения: SmellyNS

На языке Python в строках символ \ является символом экранирования.

Например \n - перевод строки.

Передавая путь C:\Users вы, считайте, сказали интерпретатору:

Считай мне такую строку: "C:", дальше идет символ \U, а дальше "sers".

А интерпретатор говорит:

Но я не знаю что это за символ \U

Пишите вот так:

C:/Users или вот так C:\\Users (т.к. \ также отключает экранирования экранируемых символов)

Второй вариант применяется автоматически при использовании префикса r перед строкой, делающего следующую за ним строку "сырой" (игнорирующей экранируемые символы).

>>> 'C:\Users'
SyntaxError: (unicode error) 'unicodeescape' codec can not decode bytes in position 2-3: truncated \UXXXXXXXX escape
>>> r'C:\Users'
'C:\\Users'
→ Ссылка