Как разбить строку по символу "обратный слэш" в 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)