Как разбить строку по символу "обратный слэш" в Python

Нужно разбить адрес файла по разделителю \

Такой код:

y = 'C:\Users\Downloads\Telegram Desktop\my_file.xls'
y_list = y.split('\\\\')

падает с ошибкой:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape

Как экранировать знак \, чтобы python понял, что это разделитель, по которому нужно разбить строку?


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

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

Используйте r-строки. И у вас слишком много бэкслэшей для разбиения:

y = r'C:\Users\Downloads\Telegram Desktop\my_file.xls'
y_list = y.split('\\')

# ['C:', 'Users', 'Downloads', 'Telegram Desktop', 'my_file.xls']

К сожалению, r-строки не всегда помогают, во второй строке кода пришлось таки экранировать бэкслэш из-за того, что когда бэкслэшем кончается строка, то r-строка не помогает.

→ Ссылка
Автор решения: ccrypton

y = "C:\\Users\\Downloads\\Telegram Desktop\\my_file.xls"

y_list = y.split('\\')

print(y_list)

→ Ссылка